VB6でフォーム間でユーザ定義型のデータを受け渡しするには


しもぴー  2005-06-02 04:13:12  No: 122140

VB6にてModuleでPublic宣言せず、
フォーム間でユーザ定義型の変数を受け渡しするには
どうすればいいのでしょうか?
ユーザ定義型はフォームではPublic宣言できないようなので・・・。


魔界の仮面弁士  2005-06-02 04:45:28  No: 122141

> ユーザ定義型はフォームではPublic宣言できないようなので・・・。
Privateであれば宣言できますけれどね。
かといって、Privateにしてしまうと、フォーム間で共有できませんけど。

案1) 諦めて、標準モジュールでPublicなユーザ定義型を宣言する。
案2) タイプライブラリで構造体を定義し、それを参照設定する。
案3) ユーザ定義型の代わりに、クラスで代用する。
案4) ユーザ定義型の「内容」だけを、Byte配列等で受け渡す。
案5) 一時ファイルにPut #で吐き出してから、それをGet #で読み込む。


通ってみた  2005-06-02 06:50:57  No: 122142

自分はユーザー定義型を使わないダメグラマなのだけど、フォーム間で変数などを渡す時は、Labelを利用している

>>Form1
Label4=hensuu

>>Form2
hensuu=Form1.Label4


id_rsa+  2005-06-02 11:45:56  No: 122143

俺もByte配列が好みだけど、無理やりヤルなら。。。こんなかな・・・

'Form1
Private Type st_aa
    bb As String
    cc As Integer
End Type
Private test As st_aa

Private Sub Command1_Click()
    LSet test = Form1.aaa
    MsgBox test.bb
    MsgBox test.cc
End Sub
'Form2
Private Type st_aa
    bb As String
    cc As Integer
End Type
Private test As st_aa

Private Sub Command1_Click()
    With test
        .bb = "aiueo"
        .cc = 111
    End With
    Form2.Show
End Sub
Friend Property Get aaa() As st_aa
    LSet aaa = test
End Property


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

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






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