Hi,
der ganze
OLE/
COM-Kram treibt mich gerade zum Wahnsinn.
Ich habe einen Thread, der im
Execute Folgendes stehen hat:
Delphi-Quellcode:
CoInitializeEx(nil, COINIT_MULTITHREADED);
TunesApp := CoiTunesApp.Create;
try
repeat
{Tue was mit dem TunesApp-Interface}
until false;
finally
TunesApp := nil;
CoUninitialize;
end;
Jetzt fliegt mir irgendwann eine
EOleSysError-
Exception (
Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse EOleSysError mit Meldung 'Starten des Servers fehlgeschlagen'. Prozess InfoTunes.exe (1708)) an den Kopf, die an folgender Stelle geraiset wird:
Delphi-Quellcode:
class function CoiTunesApp.Create: IiTunes;
begin
Result := CreateComObject(CLASS_iTunesApp) as IiTunes;
end;
Durch das unmoegliche Debugging von Threads kann ich absolut nicht einschaetzen, warum das alles so passiert und wann genau es zu dieser
Exception kommt. Ich vermute, dass der
COM-Server ist gar nicht mag, dass in jedem Thread eine neue Referenz erzeugt werden soll.
Weiss jemand, woran das liegen koennte und wie man das Problem loest?
Bin fuer jeden Vorschlag dankbar. Das treibt mich schon den ganzen Tag in den Wahnsinn.
Chris