dgdg Posted November 18, 2009 Share Posted November 18, 2009 Ich hab's immer noch nicht aufgegeben und nochmal einen Versuch gestartet, die Plugin- und COM-Schnittstelle vom DVBViewer zu verstehen. ;-) Was ich ja eigentlich vorhabe, ist den DVBViewer für die Bedienung meiner Hausautomatisierung zu "missbrauchen". Wäre halt schön, wenn man mal eben mit der Fernbedienung ein paar Sachen Abfragen oder Schalten könnte. Dazu muss ich ans OSD ran und von aussen über die Plugin-Schnittstelle dynamische Inhalte auf OSD-Seiten anzeigen. Das müsste doch über die Plugin-Schnittstelle (TBasePlugin) irgendwie funktionieren. Jetzt habe ich aber einfach das Problem, dass ich das Debuggen von DDLs ziemlich unhandlich finde. Hier fehlt mir einfach die Erfahrung. Deswegen würde ich lieber erstmal die grundlegenden Funktionen über eine Standalone-Applikation ausprobieren. Aber über die COM-Schnittstelle komme ich vermutlich nicht ans OSD ran, oder? Und so wie ich die Plugin-Schnittstelle verstehe, kann man die von einer Standalone-Applikation nicht nutzen. Bevor ich das weiter verfolge daher erstmal die Frage 1. ob es überhaupt möglich ist (von einem Plugin oder einer Standalone-Applikation) eigene dynamische Inhalte über das OSD anzuzeigen bzw. auch Eingaben zu machen? 2. ob evtl. auch möglich ist, das von Standalone-Applikation aus zu machen (weil ich erstmal kein Plugin schreiben möchte)? Wenn ja, wie? Wäre nett, wenn die Programmierer mir ein paar Hinweise geben könnten. Quote Link to comment
nuts Posted November 18, 2009 Share Posted November 18, 2009 1. Ja, siehe myinternet Plugin. 2. Imho nein. Mehr Infos wie die die Pluginschnittstelle genau benutzt werden kann habe ich leider auch nicht. Was auch ohne Plugin funktioniert (sogar ziemlich simpel über den com server) sind eigene Popup Menüs (wie z.B. OSD Blau). Quote Link to comment
Rayman Posted November 18, 2009 Share Posted November 18, 2009 Aber über die COM-Schnittstelle komme ich vermutlich nicht ans OSD ran, oder? Es ist richtig, die OSD-Schnittstelle (IOSDWindowManager) kann nur im DVBViewer-Prozessraum angesprochen werden, also über eine Plugin.DLL. Es gab dazu hier eine Diskussion: http://www.DVBViewer.info/forum/index.php?...st&p=182371 Ein guter Startpunkt ist trotzdem auf jeden Fall das myInternet-Plugin. Man könnte natürlich versuchen die DLL die OSD-Funktionalität bewerkstelligen zu lassen und die restlichen Sachen in einer Standalone-Applikation, die mit der DLL kommuniziert, zu implementieren. Stefan. Quote Link to comment
Tjod Posted November 18, 2009 Share Posted November 18, 2009 Also so weit wie ich das überblicke kann man überblicke kann man über das COM Interface eigentlich alle schon vorhandenen Arten von Dialogen im OSD Nutzen (z.B. mit GetText das OnScreenKeyboard) und mit eigenen Texten versehen (z.B. showpopup für eine Auswahlliste hier). Aber zu Kopfletten neu gestalten einer Seite habe ich noch nichts gefunden. Quote Link to comment
dgdg Posted November 18, 2009 Author Share Posted November 18, 2009 (edited) Es ist richtig, die OSD-Schnittstelle (IOSDWindowManager) kann nur im DVBViewer-Prozessraum angesprochen werden, also über eine Plugin.DLL. Es gab dazu hier eine Diskussion:http://www.DVBViewer.info/forum/index.php?...st&p=182371 Ok, das hatte ich zwar gelesen, aber nicht verstanden. Jetzt wird es etwas klarer. ;-) Ein guter Startpunkt ist trotzdem auf jeden Fall das myInternet-Plugin. Das werde ich mir dann mal als nächstes ansehen. Ich habe erstmal versucht, das myPrograms-Plugin zu verstehen. Wie debuggt ihr denn die DVBViewer-Plugins? Klar, ich habe den DVBViewer in Delphi 7 als Host-Application eingetragen. Aber dann muss bei jedem Debug-Lauf der DVBViewer hochgefahren werden und ich muss mich jedesmal durch etliche Fehler-Meldungen durchklicken (hier hatte ich das Problem schonmal beschrieben). Das ist total nervig und umständlich. Geht das auch irgendwie komfortabel? ;-) Edited November 18, 2009 by dgdg Quote Link to comment
Portisch Posted November 19, 2009 Share Posted November 19, 2009 Starte den DVBViewer mal mit dem Parameter -vanilla. Ich selber habe eigentlich keine Probleme mit DLL-Debug und starte den Debugger DVBViewer mit nur -debug. Für Input Plugins geht es so bei mir ohne Probleme. Mit was Programierst du? Wenn Delphi 2009 dann musst du bei Version, Namen usw. (geforderte Plugin DLL Exports für DVBViewer) alles von PChar auf PAnsiChar ändern (UNICODE Umstellung). Ansonsten wird das Plugin nicht geladen und du bekommst nie einen Callback Pointer. Zum Debugen muss ich auch die Externen Debug Symbole mit erstellen lassen Projekt->Optionen->Delphi-Compiler->Linken Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.