Freigeben über


CREATEOBJECTEX( )-Funktion

Erstellt eine Instanz eines registrierten COM-Objekts (wie etwa eines Visual FoxPro-Automatisierungsservers) auf einem Remotecomputer.

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

Rückgabewerte

Objekt

Parameter

  • cCLSID | cPROGID
    Gibt den CLSID (Klassen-ID) oder PROGID (programmgesteuerten Bezeichner) für das zu instanziierende COM-Objekt an. Wenn Sie einen CLSID hinzufügen, muss das COM-Objekt auf dem von Ihnen mittels cComputerName angegebenen Remoteserver registriert sein. Wenn Sie einen PROGID hinzufügen, muss das COM-Objekt sowohl auf dem lokalen als auch auf dem mittels cComputerName angegebenen Remotecomputer registriert sein. Bei dem Versuch, PROGID zu verwenden, ohne zuvor den Server auf dem lokalen Computer zu registrieren, wird der OLE-Fehlercode 0x800401f3 ("Ungültige Klassen-ID") generiert.

    Für auf Ihrem lokalen Rechner erstellte Visual FoxPro-Automatisierungsserver können Sie die CLSID- und PROGID-Eigenschaft des Serverobjekts verwenden, um die lokalen Werte für CLSID und PROGID zu bestimmen.

  • cComputerName
    Bezeichnet den Remotecomputer, auf dem das COM-Objekt instanziiert ist.

    Wenn cComputerName die leere Zeichenfolge ist, wird das COM-Objekt auf dem lokalen Computer oder auf einem in der Registrierung angegebenen umgeleiteten Computer instanziiert. Verwenden Sie Clireg32.exe oder Racmgr32.exe zum Umleiten des lokalen Computers auf einen anderen Computer mit Hilfe der Registrierung.

    cComputerName unterstützt UNC-Namen (UNC - Universal Naming Convention), wie \\myserver und myserver, sowie DNS-Namen (DNS - Domain Name System), wie myserver.com, www.microsoft.com und 207.68.137.56.

  • cIID
    Gibt die Schnittstellenbezeichner-GUID von cCLSID | cPROGID an, wenn eine zur Kompilierungszeit aufgelöste Instanz der Klasse erstellt wird. Wird für cIID eine leere Zeichenfolge übergeben, versucht Visual FoxPro, auf die Standardschnittstelle (IID) von cCLSID | cPROGID zuzugreifen.

Beispiel

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

Anmerkung   Das folgende Beispiel ist ein gültiger Funktionsaufruf für ein Excel-Anwendungsobjekt.

      x = CREATEOBJECTEX("excel.application","","")
Damit wird die Standardschnittstelle excel.application zurückgegeben. 

Hinweise

CREATEOBJECTEX( ) gibt einen Objektverweis auf das COM-Objekt zurück, wenn dieses erfolgreich instanziiert worden ist. CREATEOBJECTEX( ) lässt sich nicht zum Instanziieren von Visual FoxPro-Klassen wie etwa Formularen verwenden; verwenden Sie CREATEOBJECT( ) zum Instanziieren von Visual FoxPro-Klassen. Beachten Sie, dass Sie wegen der Unterscheidung von der CREATEOBJECT( )-Funktion CREATEOBJECTEX( ) nicht mit weniger als 13 Zeichen abkürzen können.

Werden bestimmte COM-Klassen mit CREATEOBJECT( ) aufgerufen, wird die Meldung "Diese Schnittstelle wird nicht unterstützt" zurückgegeben, da diese Klassen keine IDispatch-Schnittstelle unterstützen. Wird der Parameter cIID verwendet, können Sie aber in Ihren Anwendungen auf diese Klassen zugreifen.

Wird für cIID eine leere Zeichenfolge ("") übergeben, versucht Visual FoxPro, auf die Standardschnittstelle (IID) der angegebenen CLSID oder PROGID zuzugreifen*.*

Da das frühe Binden (early binding) durch cIID unterstützt wird, kann mit Hilfe von CREATEOBJECTEX( ) eine Verbesserung der Leistung erreicht werden, da ein großer Teil des Overheads von IDispatch-Aufrufen vermieden wird.

CREATEOBJECTEX( ) unterstützt das Erstellen von neuen, früh gebundenen Objekten. Es ist jedoch auch möglich, Ihre Visual FoxPro-Komponente einem Objekt zu übergeben, das Sie über frühes Binden aufrufen möchten. Für vorhandene COM-Objekte können Sie die GETINTERFACE( )-Unterstützung verwenden.

Weitere Informationen zum Verwenden von Visual FoxPro zum Erstellen von Automatisierungsservern finden Sie unter Freigeben von Informationen und Hinzufügen von OLE.

Siehe auch

CLSID-Eigenschaft | CREATEOBJECT( )-Funktion | ProgID-Eigenschaft | Serverobjekt (Server)