- PR -

動的にフォームを開く

1
投稿者投稿内容
オーリー
会議室デビュー日: 2005/01/14
投稿数: 10
投稿日時: 2005-01-28 17:59
お世話になっております。

現在WEBサービスを利用して、開発を行なっているのですが、
フォームを動的に起動させることができなくて
困っております。

例えば、WEBサービスから返ってくるフォーム名称に
対して、クライアント側でそのフォーム名称に見合ったフォームを
起動させたい(開きたい)のです。

Showするためには、インスタンスの生成が必要なのは分かっているのですが、
そのインスタンスを動的に作ることは可能なのでしょうか?
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-01-28 18:07
@029さんの求めているプログラムがWebサービスを使って、その情報を元にフォームを表示したいのはわかりました。
でも、それ以上は判りません。

具体的にはどういうことをやりたいのですか?
環境は?言語は?

_________________
たつごろー
codeseek
こみゅぷらす
オーリー
会議室デビュー日: 2005/01/14
投稿数: 10
投稿日時: 2005-01-28 18:38
たつごろー様

お返事ありがとうございます。
そして、申し訳ございませんでした。

現在はASP.NETを利用したWEBサービスの構築を
行なっておりまして、言語はVB.NETです。

クライアント側には、あらかじめフォームが用意されております。
サーバ側では、クライアントからの要求を元に、クライアント側が次に
表示すべきフォーム名称を、WEBメソッドの返り値として
与えております。

そして、クライアント側は、返ってきたフォーム名称(String)と
マッチするフォームを開くといった流れです。

具体的に表現すると以下のソースのような感じです。


-クライアントサイド−

Public Function Login() as String
Dim NxtFrmID as String
WebRF ←WEB参照変数
NxtFrmID = WebRF.NxtFrm(LoginTextBox.Text, PassWord.Text)

' ここでNxtFrmIDを元にクライアント側の
' フォームを開きたいです。

End Function

−サーバサイド−

<WebMethod()> _
Public Function NxtFrm(LoginID as String, Pass as String) as String
' LoginIDとPassを元にログイン認証し
' クライアントが次に表示すべき
' フォームIDを返り値に設定
End Function
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2005-01-28 18:41
諸農です。

引用:

例えば、WEBサービスから返ってくるフォーム名称に
対して、クライアント側でそのフォーム名称に見合ったフォームを
起動させたい(開きたい)のです。

Showするためには、インスタンスの生成が必要なのは分かっているのですが、
そのインスタンスを動的に作ることは可能なのでしょうか?



基本構文、文法の問題ですか?
受け取ったフォーム名称を使って if で分岐させてみるとか?
分岐数が多いなら switch とか case select とかも使えそうですが。。

違っていたらごめんなさい。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
オーリー
会議室デビュー日: 2005/01/14
投稿数: 10
投稿日時: 2005-01-28 18:56
Jubei様
ご返信ありがとうございます。

引用:--------------------
  受け取ったフォーム名称を使って if で分岐させてみるとか?
分岐数が多いなら switch とか case select とかも使えそうですが
--------------------------

確かに方法の1つだとは思うのですが、
フォーム数が大量にある時などは辛いので
なにか良いアプローチはないかなと考えているのです。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-01-28 19:03
引用:

確かに方法の1つだとは思うのですが、
フォーム数が大量にある時などは辛いので
なにか良いアプローチはないかなと考えているのです。


まだ具体的なところが見えません。

フォーム数が大量にあるだけでは判りません。一度に出すフォームの数ですか?クラスの数ですか?1つのクラスから生成するバリエーションですか?
「なにか良い」とはたとえばどういうものを良いといっていますか?
クライアントはWindowsFormsですか?
「確かに方法の1つだとは思うのですが、」とありますが、仕様がもとめられればしょうがないということもあります。
もう少し、なにがしたいか、どういう状況に陥っているのか、どういう解決策があればうれしいかをかけませんか?


_________________
たつごろー http://www.codeseek.net
MCSE MCSD.NET、MCDBA、MCSA、MCAD
Oracle Master Platinum 9i、Oracle Master Linux+

[ メッセージ編集済み 編集者: たつごろー 編集日時 2005-01-28 19:04 ]
Hasumi
ベテラン
会議室デビュー日: 2002/07/23
投稿数: 78
お住まい・勤務地: 神奈川・東京
投稿日時: 2005-01-28 19:46
文字列(クラス名)からインスタンスを作成したいということであれば、
こちらのスレッドが参考になると思います。
1

スキルアップ/キャリアアップ(JOB@IT)