Compartir a través de


CREATEOBJECTEX( ) (Función)

Crea una instancia de un objeto COM registrado (por ejemplo, de un servidor de automatización de Visual FoxPro) en un equipo remoto.

CREATEOBJECTEX(cCLSID | cPROGID, cComputerName [, cIID])

Valores devueltos

Object

Parámetros

  • cCLSID | cPROGID
    Especifica el CLSID (Id. de clase) o PROGID (Id. de programa) del objeto COM cuya instancia se va a crear. Si incluye un CLSID, el objeto COM se debe registrar en el servidor remoto que especifique con cComputerName. Si incluye un PROGID, el objeto COM se debe registrar en el equipo local y en el equipo remoto que especifique con cComputerName. Si intenta utilizar un PROGID sin registrar primero el servidor en el equipo local, se generará el error OLE 0x800401f3, "Cadena de clase no válida".

    Para los servidores de Automatización de Visual FoxPro creados en el equipo local, puede utilizar las propiedades de objeto CLSID y PROGID para determinar los valores locales de CLSID y PROGID.

  • cComputerName
    Especifica el equipo remoto en que se crea la instancia del objeto COM.

    Si cComputerName es la cadena vacía, se crea una instancia del objeto COM en el equipo local o en un equipo redirigido, tal como especifique el registro. Utilice Clireg32.exe o Racmgr32.exe para redirigir el equipo local a otro equipo a través del registro.

    cComputerName admite nombres UNC (Convención universal de nombres) como "\\myserver" y "myserver", y nombres DNS (Sistema de nombres de dominio) como "myserver.com", "www.microsoft.com" y "207.68.137.56".

  • cIID
    Especifica el valor GUID de Id. de interfaz de cCLSID | cPROGID cuando se crea una instancia de enlace en tiempo de compilación de la clase. Si pasa una cadena vacía como cIID, Visual FoxPro intentará el acceso a la interfaz predeterminada (IID) de cCLSID | cPROGID.

Ejemplo

      x = CREATEOBJECTEX("excel.application","",;
      "{000208D5-0000-0000-C000-000000000046}")

Nota   Lo siguiente es una llamada de función válida para un objeto de aplicación Excel.

      x = CREATEOBJECTEX("excel.application","","")
This will return the excel.application default interface. 

Observaciones

CREATEOBJECTEX( ) devuelve una referencia al objeto COM si la instancia de éste se crea correctamente. CREATEOBJECTEX( ) no se puede utilizar para crear instancias de clases de Visual FoxPro como formularios; para esto, debe utilizar en su lugar CREATEOBJECT( ). Observe que sólo puede abreviar CREATEOBJECTEX( ) a un mínimo de 13 caracteres para diferenciar esta función de la función CREATEOBJECT( ).

Cuando se llama a ciertas clases COM con CREATEOBJECT( ), devuelven "Interfaz incompatible", dado que no admiten una interfaz IDispatch. Si utiliza el parámetro cIID podrá tener acceso a estas clases en sus aplicaciones.

Si pasa una cadena vacía ("") como cIID, Visual FoxPro intentará obtener la interfaz predeterminada (IID) del CLSID o PROGID especificado.

Puesto que admite el enlace en tiempo de compilación por medio de cIID, CREATEOBJECTEX( ) puede mejorar el rendimiento, al evitar gran parte de la sobrecarga de las llamadas IDispatch.

CREATEOBJECTEX( ) admite la creación de nuevos objetos de enlace en tiempo de compilación. No obstante, también es posible pasar al componente de Visual FoxPro un objeto al que se desee llamar mediante enlace en tiempo de compilación. Puede utilizar la compatibilidad de GETINTERFACE( ) para objetos COM existentes.

Si desea obtener información adicional acerca del uso de Visual FoxPro para crear servidores de Automatización, vea Agregar OLE.

Vea también

CLSID (Propiedad) | CREATEOBJECT( ) (Función) | ProgID (Propiedad) | Server (Objeto)