人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VB6について質問です。現在の状態を適切な状態に修正したいと考えています(以下参照)。
適切な状態にする場合はForm1から呼び出したForm2の処理が進んだときに、
Form1に進捗を通知するような仕組みを作らなくてはいけませんが、
通知する方法が解りません。良い方法などありましたら教えていただきたく宜しくお願いします。


現在の状態:Form1からForm2(Visible=true)のクラスを呼び出し処理を実行する。
進捗表示はForm2
適切な状態:Form1からForm2(Visible=false)のクラスを呼び出し処理を実行する。
進捗表示はForm1



●質問者: harunoharuno
●カテゴリ:コンピュータ
✍キーワード:vb6 クラス 現在
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●100ポイント ベストアンサー

Form1のラベル等を Form2で 更新して 表示しなおしてあげればいいだけかと思いますが・・・。

ま、オブジェクト指向で作るならば Form1に 進捗を受け取るメソッドを作成して

Form2から そのメソッドを 呼べばいいと思います。


http://www005.upp.so-net.ne.jp/h-masuda/vb6/vb6first/forms050.ht...


2 ● heke2mee
●100ポイント

Form2の処理を非表示でForm1から実行したいということは

Form2の中に共通で使用したいビジネスロジックがあると言う事だと思います。


共通部分をクラスとして抜き出し、進捗をイベントとして通知するのがいいのではないでしょうか


イベントの作成方法

http://homepage1.nifty.com/rucio/main/shokyu/jugyou29.htm



今後、プログラムを修正する可能性が殆ど無い場合は、直接呼び出す処理のほうが

修正箇所が少ないので楽かもしれません。


ただForm2にForm1のラベルやメソッドを渡すように記述してしまうと、

Form2とForm1の依存関係が強くなります。

また今後Form3からForm2の同じ処理を実行したい場合に、Form2の中に

Form3のラベルやメソッドを呼ぶ処理を記述しないといけなくなります。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ