Zunächst erstmal Hallo hier im Forum
ich habe ein Problem bei dem ich den Fehler nicht finden kann
In meinem aktuellen Programm möchte ich ein eigenes
COM-Object zur Automatisierung registrieren.
Ich habe eine entsprechende Typbibliothek erstellt und als Ressource (MyAppTypeBib.tlb + MyAppTypeBib_TLB.pas) eingebunden.
Dazu eine Klasse (TOleMyApp) die bei der Initialisierung der
Unit registriert werden soll.
Delphi-Quellcode:
unit uOleMyApp;
{$R MyAppTypeBib.TLB}
...
uses
MyAppTypeBib_TLB.pas;
type
TOleMyApp =
class(TAutoObject, IOLEMyApp)
private
...
protected
...
end;
...
initialization
TAutoObjectFactory.Create(ComServer, TOleMyApp, Class_OleMyApp, ciSingleInstance);
end;
Wenn ich das Ganze einzeln in einer kleinen Testanwendung teste, gibts es keine Probleme damit.
Die Klasse zur Automatisierung wird bei jedem Start erfolgreich registriert.
Nun wollte ich das ganze in mein eigentliches Programm integrieren, habe dabei aber das Problem dass die Klasse nicht erfolgreich registriert wird.
Der
CLSID der Klasse taucht nirgends in der Registry auf.
Der Aufruf
Delphi-Quellcode:
var
OleMyApp: IOleMyApp;
...
OleMyApp := CoOleMyApp.Create;
wirft die
Exception "Klasse ist nicht registriert"
Gibt es irgendwas zu beachten?
Compilerdirektiven, o.ä.?
Schonmal Danke
Tobias
PS:
Ich habe das ganze noch auf
dsdt.info gepostet - nur damit niemand doppelt antwortet