Freigeben über


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