![]() |
COM Objekt finden, Interface, CComQIPtr
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 |
AW: COM Objekt finden, Interface, CComQIPtr
falls es jemanden interessiert
ich verwende die QueryInterface Funktion des Video Capture Filters VCap vom Type IBasefilter. VCap.QueryInterface(AGUID, aInterface); auch der IMoniker (mVideo) liefert den Zeiger auf das Interface mit mVideo.BindToObject(nil,nil,AGUID, aInterface); was ist da eigentlich der Unterschied? außerdem funktioniert es bislang nur für 32bit, nicht für 64bit. Hat jemand eine Idee danke lukas |
AW: COM Objekt finden, Interface, CComQIPtr
Hast du eine Typbibliothek, die du Importieren kannst?
Hast du das ![]() Falls nicht, unbedingt downloaden das gehört zum Handwerkszeug. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz