![]() |
comObj initialisieren welches nicht registrierbar ist.
Hallo
Ein Object was registriert werden kann, kann ich ja mit
Delphi-Quellcode:
erstellen.
comObjType := CreateComObject(sCLSID) as IWMPEffects;
Nun möchte ich aber eine Visualisierung innerhalb einer DLL initialisieren welche nicht registrierbar ist aber die CLSID bekannt ist. CreateOleObject funktioniert nicht .. Welche möglichkeiten gibt es da noch? Zur Info! Die Visualisierung Alchemie befindet sich in der mpvis.dll welche ich registrieren kann.
Die Visualisierung Battery befindet sich in der wmploc.dll
Ich möchte sie aber trotzdem ansprechen können.! Wie kann ich das realisieren ? gruss Emil |
Re: comObj initialisieren welches nicht registrierbar ist.
Hat sich auch erledigt.
Lösung gefunden. gruss Emil |
Re: comObj initialisieren welches nicht registrierbar ist.
Klasse wäre es, wenn Du uns auch noch kurz erzählst wie Du es hinbekommen hast.. für den Fall dass das gleiche Problem noch jemand anderes hat. ;-)
|
Re: comObj initialisieren welches nicht registrierbar ist.
Zitat:
Also zuerst es hat nichts mit der wmploc.dll zu tun, sondern damit das MS den Zugriff auf seine Visualisierungen unterbunden hat. Alle Vis_Interface(classen) wurden als Privat deklariert so das man von außen nicht mehr drauf zugreifen kann. Aber einen Trick gibt es trotzdem. Die Vis befinden sich in der DLL wmppia.dll. Auch diese ist nicht registrierbar außer man geht den umweg über RegAsm.exe Zitat:
RegAsm fügt nun in der Registry den selben Typelib Schlüssel ein wie der von der originalen Typelib. Für Net benötigt man noch das Utility GacUtil welches den Eintrag 'GAC' für Net unter assembly registriert. Nun kann man den Media Player (wmp.dll) in (NET) in sein Projekt einbinden und bekommt einen zusätzlichen Verweis AxWMPLib, plus WMPLib. Dadurch hat man nun die möglichkeit die Visualisierungen direkt aus dem Interface heraus anzusprechen und benötigt keine Registrierung mehr. In Delphi muss man nur noch die TypeLib einbinden und kann auch von hier aus direkt die Visualisierungen ansprechen. Die Lib der Pia wird dann automatisch mit übernommen. Das ganze funktioniert für den MediaPlayer 9.0 Wenn man den MediaPlayer 10 verwenden will muss man nur Player.controls nach Player.Ctlcontrols umbenennen dann klappt das ganze auch mit dem. Gruss Emil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 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