|
-
April 6th, 2001, 08:36 PM
#1
Passing a Private UDT to a Public Function contained within another form
Hello all,
I would like to know how would I pass a private UDT delcared within form1 to a public member of another form? I have been playing around with the CopyMemory and VarPtr funtions, but I can only get it to work paritially. Below is a part of the code..
Globals.Bas
option Explicit
Const CAPITEXTLEN = 25
Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst as Any, _
pSrc as Any, _
byval ByteLen as Long)
public Type MY_STRUCTURE
Param1 as string * CAPITEXTLEN
Param2 as string * CAPITEXTLEN
Param3 as string * CAPITEXTLEN
Param4 as Long
Param5 as Long
End Type
frmForm1.frm
option Explicit
private MyVariable as MY_STRUCTURE
private Sub cmdPassData_Click()
Dim ptrMyVariable as Long
With MyVariable
.Param1 = "String1"
.Param2 = "String2"
.Param3 = "String3"
.Param4 = 12
.Param5 = 18
End With
' CopyMemory ptrMyVariable, MyVariable, 4
frmForm2.mEntryPoint VarPtr(MyVariable)
End Sub
frmForm2.frm
option Explicit
private MyVariabl2 as MY_STRUCTURE
public Sub mEntryPoint(byref ptrPassedVariable as Long)
CopyMemory MyVariabl2, byval ptrPassedVariable, 4
With MyVariabl2
Text1.Text = .Param1
Text2.Text = .Param2
Text3.Text = .Param3
Text4.Text = .Param4
Text5.Text = .Param5
End With
me.Show vbModal
End Sub
I am not sure what I am doing wrong... I think I have the right idea, but I may be going about it the hard way. Any thoughts? Thanks
Mark H.
-
April 9th, 2001, 03:09 AM
#2
Re: Passing a Private UDT to a Public Function contained within another form
To pass UDT I never used copymemory. I just added a Class creatable(instancing property of class), and declared there a public UDT. Then I declared my private udt everywhere I needed in my form, but
private thisUDt as myClass.MyUdt
Then I can simply pass it in function and sub, or even store it in a variant variable.
Hope this help
Special thanks to Lothar "the Great" Haensler. Come back soon, you Guru.
...at present time, using mainly Net 4.0, Vs 2010
Special thanks to Lothar "the Great" Haensler, Chris Eastwood , dr_Michael, ClearCode, Iouri and
all the other wonderful people who made and make Codeguru a great place.
Come back soon, you Gurus.
-
July 3rd, 2001, 02:20 AM
#3
Re: Passing a Private UDT to a Public Function contained within another form
Have a look here:
http://codeguru.com/cgi-bin/bbs/wt/s...age=&view=&sb=
Special thanks to Lothar "the Great" Haensler, Tom Archer, Chris Eastwood, Bruno Paris and all the other wonderful people who made and make Codeguru a great place. Come back soon, you Gurus.
...at present time, using mainly Net 4.0, Vs 2010
Special thanks to Lothar "the Great" Haensler, Chris Eastwood , dr_Michael, ClearCode, Iouri and
all the other wonderful people who made and make Codeguru a great place.
Come back soon, you Gurus.
-
July 3rd, 2001, 03:15 AM
#4
Re: Passing a Private UDT to a Public Function contained within another form
just make the UDT as public in .bas module file
HTH
cksiow
http://vblib.virtualave.net - share our codes
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|