GETINTERFACE( )-Funktion
Bietet Zugriff auf die Eigenschaften, Methoden und Ereignisse eines COM-Objekts beim frühen Binden.
GETINTERFACE(oObject [, cIID | cInterface[, cTypelib | cProgID]])
Rückgabetypen
Schnittstellenreferenz des COM-Objekts.
Parameter
- oObject
Gibt das Ziel-COM-Objekt an. - cIID
Gibt den GUID der Zielschnittstelle von oObject an. cIID kann eine Schnittstelle wie "IContextState" oder eine GUID wie "{94631BEC-EE81-479A-AE64-A6CFC37B4799}" sein. Im Falle von "IDispatch" gibt GetInterface() einen IDispatch-Verweis (spät gebunden) an das Objekt zurück. Wenn cIID nicht angegeben wird, gibt GetInterface() die Schnittstelle mit früher Bindung für das Objekt zurück. - cInterface
Gibt den Schnittstellennamen an. - cTypelib
Gibt den Namen der Typbibliothek an, die die oObject-Klasse enthält. - cProgID
Gibt den Namen des Programms an, das für das Nachschlagen in der Typbibliothek verwendet werden soll.
Hinweise
GetInterface( ) gilt nur für COM-Objekte. Wenn Sie systemeigene Visual FoxPro-Objekte verwenden, generiert GetInterface( ) einen Fehler. GetInterface( ) gibt einen Objekverweis mit früher Bindung zurück.
Beispiel
Der folgende Codeausschnitt ist ein Beispiel für eine Methode, die bei einem Visual FoxPro COM-Server zum Verarbeiten von Transaktionen in einer COM+-Anwendung verwendet werden kann: Dieses Beispiel erfordert, dass der COM-Server, der diesen Code enthält, zu einer COM+-Anwendung hinzugefügt wird, ehe er von einem Client aufgerufen werden kann.
LOCAL oMTX, oContext, oContextState
LOCAL lTxnState, lGetTxnState, lDone, lGetDone
lGetDone = .F. && initialize setting
lGetTxnState = 0 && initialize setting
oMTX = CREATEOBJECT("MTXAS.APPSERVER.1")
oContext = oMTX.GetObjectContext()
oContextState = GetInterface(oContext,"IContextState")
* Handle activation setting (Doneness)
* Values: .T. - Deactivate, .F. - Leave activated
lDone = .T.
oContextState.SetDeactivateOnReturn(lDone)
oContextState.GetDeactivateOnReturn(@lGetDone)
* Handle transaction setting (Consistency)
* Values: 0 - commit, 1 - abort
lTxnState = 1
oContextState.SetMyTransactionVote(lTxnState)
oContextState.GetMyTransactionVote(@lGetTxnState)
Siehe auch
CREATEOBJECTEX( ) | Frühes (vtable) und spätes (IDispatch) Binden | GETOBJECT( ) | SYS(2333) - Unterstützung der ActiveX-Dualschnittstelle | Anzeigen der Informationen einer Typbibliothek