GETINTERFACE( ) (Función)
Proporciona acceso a las propiedades, los métodos y los eventos de objetos COM mediante enlace en tiempo de compilación.
GETINTERFACE(oObject [, cIID | cInterface[, cTypelib | cProgID]])
Devuelve
Referencia de la interfaz de objetos COM
Parámetros
- oObject
Especifica el objeto COM de destino. - cIID
Especifica el GUID de la interfaz de destino de oObject. cIID puede ser una interfaz tal como "IContextState" o un GUID, tal como "{94631BEC-EE81-479A-AE64-A6CFC37B4799}". Si es "IDispatch", GetInterface() devuelve una referencia IDispatch (de enlace en tiempo de ejecución) para el objeto. Si no se especifica cIID, GetInterface() devuelve la interfaz de tiempo de compilación para el objeto. - cInterface
Especifica el nombre de la interfaz. - cTypelib
Especifica el nombre de la biblioteca de tipos de la clase oObject. - cProgID
Especifica el nombre del programa que se debe utilizar para realizar búsquedas en la biblioteca de tipos.
Observaciones
GetInterface( ) sólo puede aplicarse a objetos COM. Si utiliza objetos nativos de Visual FoxPro, GetInterface( ) generará un error. GetInterface( ) devuelve una referencia a objeto en tiempo de compilación.
Ejemplo
El siguiente miniprograma es un ejemplo de un método que se puede utilizar en un servidor COM de Visual FoxPro para controlar las transacciones de una aplicación COM+. Este ejemplo requiere, para recibir llamadas de un cliente, que el servidor COM que contenga el código se agregue a una aplicación COM+.
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)
Vea también
CREATEOBJECTEX( ) | Enlace en tiempo de compilación (vtable) y en tiempo de ejecución (IDispatch) | GETOBJECT( ) | SYS(2333) - Soporte de interfaz dual de ActiveX | Ver información de bibliotecas de tipos