AddressOf verwenden

08/05/2008 - 07:01 von Lothar Geyer | Report spam
Ich komme mit der Beschreibung von AddressOf nicht ganz zurecht.
Folgender Plan: In einer DLL (in VB6 geschrieben) soll eine Sub
aufgerufen werden, die im Hauptprogramm definiert ist. Eigentlich könnte
das eine Function sein, aber das geht (lt. Hilfe) nicht. Also:

in der DLL:

Public Sub TuWas(P1 as Long, ..., Check As Long)
Do While Not X = True
Check Y, Result
If Result = 0 Then
...
Endif
Loop
End Sub

In einem Std-Modul des Hauptprogramms:

Public Sub Check(Y As Long, Result As Long)
...
End Sub

Und im Hauptprogram selbst:

TuWas CP1, ..., AddressOf(Check)

Ist das so richtig? Kann ich auch andere Parameter als Long verwenden
(z.B. Boolean)?

Lothar Geyer
 

Lesen sie die antworten

#1 Thorsten Albers
08/05/2008 - 13:25 | Warnen spam
Lothar Geyer schrieb im Beitrag
...
Ist das so richtig? Kann ich auch andere Parameter als Long verwenden
(z.B. Boolean)?



Nein, das geht in VB nicht. AddressOf kann lediglich dazu verwendet werden,
die Adresse einer Prozedur in einem Standard-Modul für den Gebrauch
außerhalb< von VB zu ermitteln, da VB keinerlei Möglichkeit bietet, aus


dem Code heraus Funktionen über eine in einer Variablen gespeicherte
Funktionsadresse anzuspringen - anders als z.B. C/C++.

Aber schaue Dir 'mal die VB 6-Funktion CallByName() an, die dürfte
eigentlich das sein, was Du meinst.

-
Thorsten Albers albers(a)uni-freiburg.de
-

Ähnliche fragen