COM-Objekte registrieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Einfache COM-Server erstellen - Index


Ihr Serverobjekt kann als In-Process- oder als Out-of-Process-Server registriert werden. Weitere Informationen zu Servertypen finden Sie im Abschnitt In-Process-Server, Out-of-Process-Server und Remote-Server.

Hinweis: Als 32-Bit-Prozess kann die IDE keine 64-Bit-In-Process-/DLL-Server registrieren (32-Bit-Prozesse können keine 64-Bit-DLLs laden). Verwenden Sie zum Registrieren von 64-Bit-In-Process-Servern die 64-Bit-Version von TRegSvr.exe. Der Pfad lautet $(BDS)\bin64\TRegSvr.exe.


Verwalten von Registrierungseinträgen

Bei der Registrierung eines COM-Objekts wird der Windows-Systemregistrierung ein Eintrag hinzugefügt. Objekten zugeordnete Registrierungseinträge können nur mithilfe von Code im zugeordneten Objekt deregistriert werden. Wenn Objekte nicht mehr vorhanden sind, können sie auch nicht für die Deregistrierung verwendet werden. Daher kann die Registrierung mit "verwaisten" Registrierungen angefüllt sein.

  • Eine Deregistrierung ist für die folgenden Fälle wichtig:
    • Soll ein COM-Objekt aus dem System entfernt werden, empfiehlt es sich, zuerst seine Registrierung aufzuheben.
    • Wenn Sie ein COM-Objekt während der Anwendungsentwicklung registrieren, später aber entscheiden, die Anwendung nicht zu speichern, sollten Sie das COM-Objekt immer vor dem Verwerfen der Anwendung deregistrieren.

Registrieren eines ActiveX-Servers

  • Zum Registrieren eines In-Process- oder Out-of-Process-ActiveX-Servers (DLL, OCX oder EXE) wählen Sie einen der folgenden Befehle:
    • Start > ActiveX-Server > Registrieren
    • Start > ActiveX-Server > Für aktuellen Benutzer registrieren
  • Zum Aufheben der Registrierung eines ActiveX-Servers wählen Sie:
    • Start > ActiveX-Server > Registrierung aufheben
    • Registrierung aufheben deregistriert den ActiveX-Server pro Benutzer und für alle Benutzer.

Siehe ActiveX-Server registrieren/entfernen.

Befehlszeilenoptionen für die Ausführung

Den Server können Sie registrieren oder deregistrieren, indem Sie ihn mit Befehlszeilenoptionen für die Registrierung bzw. Deregistrierung ausführen. Befehlszeilenoptionen lassen sich auf der Optionsseite Debugger festlegen.

Hinweis: Wenn Sie einen Out-of-Process-Server (EXE) registrieren, wird eine Erfolgsmeldung ausgegeben, wenn die ausführbare Datei erfolgreich mit der entsprechenden Befehlszeile aufgerufen werden kann. Obwohl die Meldung besagt "ActiveX-Server 'xxxx.exe' erfolgreich registriert", hat der Server keine Möglichkeit der IDE Informationen über den Erfolg oder Misserfolg der Registrierung oder Deregistrierung mitzuteilen.

Out-of-Process-Server

  • Um einen Out-of-Process-Server (EXE) zu registrieren, führen Sie den Server mit einer der beiden folgenden Optionen aus:
    • Mit der Befehlszeilenoption /regserver
    • Mit der Befehlszeilenoption /RegServerPerUser
  • Um die Registrierung des Out-of-Process-Servers (EXE) aufzuheben, führen Sie den Server mit einer der beiden folgenden Optionen aus:
    • Mit der Befehlszeilenoption /unregserver
    • Mit der Befehlszeilenoption /UnregServerPerUser

In-Process-Server

Sie können entweder das Hilfsprogramm tregsvr oder den Befehl regsvr32 des Betriebssystems verwenden:

  • Um einen In-Process-Server (DLL) zu registrieren, verwenden Sie einen der beiden folgenden Befehle:
    • regsvr32.exe /n <DLL-Name>.dll
    • regsvr32.exe /n /i:user <DLL-Name>.dll
  • Um die Registrierung eines In-Process-Servers (DLL) aufzuheben, verwenden Sie einen der beiden folgenden Befehle:
    • regsvr32.exe /u /n <DLL-Name>.dll
    • regsvr32.exe /u /n /i:user <DLL-Name>.dll

Siehe auch