Variable über Pointer setzen?

06/01/2010 - 13:36 von Andreas Killer | Report spam
Juhu. :-))

Ich möchte gerne meiner UserForm über eine "AddCheckBox"-Routine
mehrere Variablen übergeben und die UserForm soll dann diese Variablen
direkt modifizieren können.

Vereinfach sàhe das so aus:

Dim V

Sub Test()
Dim I As Integer
GetVar I
SetVar
If I = 1 Then
MsgBox "Juhu"
Else
MsgBox "Shit"
End If
End Sub

Sub GetVar(ByRef Var)
V = VarPtr(Var)
End Sub

Sub SetVar()
VarPtr(V) = 1
End Sub

Geht das nicht irgendwie mit VB?
Muss ich mir mit RtlMoveMemory was zurechtschustern?

Andreas.
 

Lesen sie die antworten

#1 Reiner Wolff
07/01/2010 - 20:22 | Warnen spam
Moin Andreas,

ganz verstanden habe ich nicht, was Du erreichen willst.

*Andreas Killer* schrieb:
Ich möchte gerne meiner UserForm über eine "AddCheckBox"-Routine
mehrere Variablen übergeben und die UserForm soll dann diese Variablen
direkt modifizieren können.



Wàre das dann nicht einfach ByRef oder eine globale Variable?

Vereinfach sàhe das so aus:


[vereinfachtes Bespiel durch eigenes ersetzt]

Sub Test()
Dim I As Integer
I = 1
If I = 1 Then
MsgBox "Juhu"
Else
MsgBox "Shit"
End If
End Sub

Wenn Du die Variable 'I' bereits hast, wozu musst Du dann erst noch über
einen Pointer auf sie zugreifen?

Geht das nicht irgendwie mit VB?



Da ich offensichtlich nicht verstanden habe, wozu Du Deinen Pointer
benutzen willst, erklàr' doch mal, was Du eigentlich genau damit machen
willst.

Gruß aus Kiel
Reiner
"Who the fuck is General Failure? And why is he reading my harddisk?"
Ist das nicht der Kollege von "General Protection Fault" und "Major
Problem"?

Ähnliche fragen