Einzelnen Beitrag anzeigen

luki pescoller

Registriert seit: 8. Dez 2009
6 Beiträge
 
Delphi XE7 Professional
 
#1

COM Objekt finden, Interface, CComQIPtr

  Alt 8. Dez 2009, 18:13
Hallo Experten,
ich stehe vor dem Problem, daß ich zu einem Interface ein konkretes Objekt finden muß. In der Beschreibung (C++) ist das wie folgt definiert:

IBaseFilter* pSourceFilter;
...
CComQIPtr<IVideologyCMOS> pKs( pSourceFilter );

IVideologyCMOS ist als interface definiert und die GUID ist bekannt. In Delphi sieht das so aus:

IVideologyCMOS = interface (IUnknown)
['{926ddb19-3c8e-476c-9068-eb4555a99231}'] // GUID

In der Registry findet ich die GUID, d.h. das Interface ist irgendwie registriert. Ich habe nun versucht, den Zeiger auf ein Objekt zu erhalten

var
VideologyCMOS : IVideologyCMOS;
AGUID: TGUID;

begin
AGUID := StringToGUID('{926ddb19-3c8e-476c-9068-eb4555a99231}');
VideoLogyCMOS := CreateComObject(AGUID) as IVideologyCMOS;

...liefert Fehler: 'OLE-Fehler 80040202, ClassID: {926ddb19-3c8e-476c-9068-eb4555a99231}'

neuer Versuch:

OleCheck(CoCreateInstance(AGUID,nil,CLSCTX_ALL,AGU ID, VideologyCMOS));

...liefert denselben Fehler

weiß jemand von Euch wie ich zu einem Objekt komme, über welches ich dann die im Interface spezifizierten Funktionen ansprechen kann?

Danke für Eure Hilfe
Lukas
  Mit Zitat antworten Zitat