VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/09/27(Tue) 11:30
投稿者GOD
Eメール
URL
タイトルRe^2: Visibleを参照すると Loadイベントが発生する

> > Form2.Visible を参照すると Loadイベントが発生してしまいます。
>
> 誤解がないように補足しますが、Form2 内のメンバのいずれかを参照するとロードされます。
> Visible プロパティに限った話ではなく、Form 内のコントロールなどすべてです。
> これは、暗黙的にインスタンスを生成するからです。
>
Form2内のメンバと言うのはFormが元々持っているプロパティ、メソッドのことでよろしいんですよね。
(自分で追加した関数、変数、プロパティは範囲外)
Formが元々持っているプロパティ、メソッドにアクセスすると暗黙的にインスタンスを生成というより
暗黙的にロードしているのでは無いでしょうか。(ロード必要時にインスタンスが無い為生成。)
因みに自分が作成した物にアクセスすると(暗黙的に)インスタンスのみ作成します。(ロードしない)
※インスタンスが生成されたからといって必ずロードされるわけではない。

'Form1
Private Sub Command1_Click()
    Form2.test
    'Debug.Print Form2.hoge
    'Debug.Print Form2.Visible
End Sub

'Form2
Private Sub Form_Initialize()
    Debug.Print "Initialize"
End Sub

Private Sub Form_Load()
    Debug.Print "Load"
End Sub

Public Sub test()
    Debug.Print "Test"
End Sub

Public Property Get hoge() As Long
    hoge = 1
End Property

----追加(2005/09/27 11:41)
「Formが元々持っている」は「コントロールが元々持っている」と読み替えてください。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -