どうしても、いきずまってしまい書き込みました。
さっそくですが、Form1にはボタンとラベルを配置しています。
Form1のラベルを引数でForm2に渡して、1秒間隔で、ラベルに
インクリメントした値を表示するように組んでみました。
こんな感じで、引数を構造体にしたいのですが、できませんでした。
教えてください。
***Form1***
Private Sub Command1_Click()
Load Form2
Form2.ABC Label1
End Sub
***Form2***
Dim LBL As Object
Dim i As Integer
Public Sub ABC(ByRef AAA As Object)
Set LBL = AAA
End Sub
Private Sub Timer1_Timer()
i = i + 1
LBL.Caption = i
End Sub
おそらくVB6でのことでしょうが、環境を明記してください。
構造体をPublicな呼び出し可能なメンバの引数にするには、
一度ActiveXDLLなどに囲ってください。
面倒な場合は、Public修飾ではなくFriend修飾にしたメンバに変更してください。
例)
'--------Module1
Option Explicit
Public Type tHoge
a As Long
b As Long
End Type
'--------Form1
Option Explicit
Private Sub Form_Load()
Dim u As tHoge
u.a = 10
u.b = 20
Debug.Print Sum(u)
End Sub
Friend Function Sum(ByRef p As tHoge) As Long
SumB = p.a + p.b
End Function
早速やってみます。大変たすかります
ガッさんお世話になりました。
ツイート | ![]() |