Ich versuche folgenden VB-Code unter Verwendung eines ActiveX-Objektes in xBase umzusetzten:
Code: Alles auswählen
Private Function VB_Test()
DIM nCount As INTEGER = 0
DIM nRetCode as INTEGER = 0
DIM oObj as Object
Set oObj = CreateObject(“Vehicle.UsedVeh”)
nRetCode := oObj:GetCount( nCount )
MsgBox( “Anzahl: ” & nCount )
End Function
Das oben genannte Beispiel habe ich in xBase wie folgt umgesetzt:
Code: Alles auswählen
Function XBase_Test()
Local oObj
Local nCount := 0
Local nRetCode := 0
oObj := CreateObject(“Vehicle.UseVeh”)
If oObj == NIL
Msgbox(“Fehler”)
Return ( NIL )
endif
nRetCode := oObj:GetCount( nCount ) // ->Dieser Aufruf erzeugt ein Laufzeit-Fehler!
MsgBox( Str( nCount )
Return ( NIL )
Im VB-Beispiel wird der Parameter „nCount“ übergeben und gesetzt. Der Return-Code der Methode gibt einen Wert zurück, der angibt, ob der Methodenaufruf erfolgreich ausgeführt wurde. In VB wird der Parameter „nCount“ referenziert.
Die entsprechende Typ-Library zeigt für die Methode folgende Daten an:
Code: Alles auswählen
- GetCount
ID=23
FUNCID=PUREVIRTUAL
INVOKEKIND=FUNC
CALLCONV=CDECL
FUNCFLAGS=
OVFT=104
CPARAMS=1
CPARAMSOPT=0
PARAMETERS
- aI_count
- TYPE=I*4
- SIZE=4
- PARAMFLAG=IN OUT
Meine Frage: Wie sollte der Methodeaufruf samt Parameter erfolgen?
Gruß,
Olaf