ComboboxでAddItemすると更新される仕様について


光村  2006-04-08 03:50:11  No: 130893

VB6です。
作っているソフトは自アプリ以外のソフトを制御するソフトで
自アプリ(A)から他社製ソフト(B)をCOMで制御しているとします。
(B)の状態(選択範囲があるか等)の条件で(A)の処理方法を
変えたいと思っています。

現在のソース
起動後に選択範囲があるかどうかのチェックをFunctionでチェックしています。
処理前にも選択範囲があるかどうかのチェックをしたいので、Functionを呼んでいます。

Private Sub Form_Load()
Call 選択範囲チェック
End Sub
Private Sub Form_Activate()
Call 選択範囲チェック
End Sub
Function 選択範囲チェック(F As Boolean)
Combo1.Clear
Set MyApp = CreateObject("XXX.Application")
Combo1.AddItem "test1"
Combo1.AddItem "test2"
End Sub

処理前にForm_Activateで呼んだFunctionで、
選択したCombo1のアイテムがクリアされてしまうのですが、
これを回避する方法はないでしょうか?
お知恵をお貸し下さい。よろしくお願いいたします。


特攻隊長まるるう  2006-04-18 19:39:16  No: 130894

>更新される仕様について
意味が分からん。仕様も何も、自分でそうプログラムしてるだけの
話では?F がフラグなら、その値でクリアしないようにすれば?

…もともと、初期化処理が『選択範囲チェック』なんて関数の中に
入ってる時点で設計ミス。別関数にするべきでしょう。


ぶぶ  2006-04-18 20:55:46  No: 130895

そりゃぁ・・・・
Combo1.Clear
が入っていればクリアされますが・・・・

そう組んでいるからとしか言いようがないです。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加