<< Inhaltsverzeichnis Suchen >>

OLE_METHOD

Funktion

Syntax:

OLE_METHOD(<OBJEKT-ID>,<NAME>,<PARAMETER-TYPEN>
                              [,<RETURN-VARIABLE> [,<VARIABLE>]...])

<OBJEKT-ID>                                 = <NUM-AUSDRUCK>
<NAME>                                          = <STRING-AUSDRUCK>
<PARAMETER-TYPEN>               = <STRING-AUSDRUCK>
<RETURN-VARIABLE>                = <STRING-VARIABLE> oder
                                                              <NUM-VARIABLE> oder
                                                              <NUM-VARIABLE>%
<VARIABLE>                                  = <STRING-VARIABLE> oder
                                                              <NUM-VARIABLE> oder
                                                              <NUM-VARIABLE>%

Bedeutung:

OLE_METHOD ruft eine Methode auf.

<OBJEKT-ID> ist die Identifizierungsnummer des Objektes. Diese Nummer wird geliefert durch die Funktionen OLE_CREATEOBJECT und OLE_PROPERTYGET.

<NAME> ist der Name der Methode.

Die Anzahl und Typen der Parameter der aufzurufenden Methode werden durch <PARAMETER-TYPEN> festgelegt. Für jeden Parameter muß ein Parameter-Zeichen (bei Pointern 2 Zeichen) angegeben werden. Der erste Eintrag kennzeichnet den Parametertyp von <RETURN-VARIABLE>, die dann folgenden Einträge kennzeichnen die einzelnen Parameter der zu übergebenden Parameter <VARIABLE>... .

Folgende Parametertypen sind möglich:

 

Zeichen

Bedeutung

Variable

 

D

Identifizierungsnummer
(Dispatch)

Integer-Variable (z.B. ID%)

 

i

short integer

Integer-Variable (z.B. S%)

 

I

long integer

Integer-Variable (z.B. L%)

 

b

bool

Integer-Variable (z.B. B%)

 

s

string

String-Variable (z.B. Wert$)

 

r

real 4 Byte, float

numerischeVariable (z.B. F)

 

R

real 8 Byte, double

numerischeVariable (z.B. D)

 

d

date, double

numerischeVariable (z.B. D)

 

Ist ein Parameter ein Pointer, so ist dem Parameter-Zeichen das Zeichen "&" voranzustellen. Z.B. kennzeichnet &I einen Pointer auf long integer.

Für jeden einzelnen Parameter muß eine entsprechende Variable angegeben werden, die den zu übergebenden bzw. zurückgelieferten Wert enthält.

Da das erste Parameter-Zeichen in <PARAMETER-TYPEN> den Return-Parameter festlegt, ist als erste Variable die <RETURN-VARIABLE> anzugeben.

Ist <PARAMETER-TYPEN> der Leerstring "" (keine Parameter), können die Variablen <RETURN-VARIABLE> und <VARIABLE> fehlen.

OLE_METHOD liefert als Ergebnis 0, wenn kein Fehler auftrat, andernfalls eine Fehlernummer. Die Fehlernummern sind in der Datei winerror.h im Include-Verzeichnis des C-Compilers in hexdezimalem Format aufgelistet. Die EBUS-Funktion HEX$ wandelt Zahlen in das hexadezimale Format um.

Tritt ein Ausnahmefehler (Exception) auf (Fehler Nr. 80020009 hexadezimal), so enthält die Variable EBUS_OLE_ERROR$ den Fehlertext.

Diese Funktion ist nur unter WINDOWS 32-Bit verfügbar. Unter MS-DOS, UNIX und WINDOWS 16-Bit liefert sie als Ergebnis stets -1.

Beispiel:

H% = OLE_METHOD(ID%,"Open","Ds",WORKBOOK%,DATEI$)
IF H% <> 0
THEN ... Fehler
ENDIF

siehe auch:

OLE_INITIALIZE, OLE_CREATEOBJECT, OLE_PROPERTYGET,
OLE_PROPERTYPUT
, OLE_UNINITIALIZE, EBUS_OLE_ERROR$