Allodo Posted October 16, 2009 Share Posted October 16, 2009 Hallo, erst einmal was habe ich vor? Ich möchte gerne ein Plugin für mein Futaba VFD (M402SD06GL) schreiben, welches mir die Stati auf dem Display anzeigt (analog dem IMon-VFD-Plugin von markymark). Was habe ich bisher erreicht? Ich habe mir die Sourcen vom VFD-Test angeschaut und entsprechend angepasst, so dass die Stati auf dem Display ausgegeben werden, welche sonst in dem Frame angezeigt wurden. So weit so gut. Nur leider bin ich kein Delphicrack, sondern habe mir in den letzten 2 Wochen den Sourcecode genau angeschaut und ein wenig rumexperimentiert. Wie oben schon geschrieben mit Erfolg. Mein Problem: Leider habe ich bis jetzt nur ein Exe-File erzeugen können mit der enthaltenen GUI. Das möchte ich aber nicht, sondern "lediglich" eine DLL erzeugen, welche in dem Plugin-Ordner ihren Dienst verrichtet und als solches auch unsichtbar bleibt. Ich weiss, dass ich die 5 Funktionen InitPlugin2; PluginName; Version; Copyright und LibTyp bestücken muss gesagt getan, aber dann? Hier mal der Code: function InitPlugin2: TVFDPlugin; stdcall; {export;} begin if vfdplugin = nil then vfdplugin := TVFDPlugin.Create(???); result := vfdplugin; end; procedure DLLEntry(dwReason: Integer); begin if dwReason = DLL_PROCESS_DETACH then begin vfdplugin.FDestroy(???); end else if dwreason = DLL_PROCESS_ATTACH then begin vfdplugin.FActivate(???); end; end; Welchen Parameter muss ich beim Create übergeben bzw. bei der Klassendeklaration anweisen damit es mit TDVBViewer passt? Sorry für mein Unwissenheit, aber wie schon gesagt bin ich ein Delphi-Noob und dies mein erstes Plugin . Im SDK stehen auch nur 4 Pluginparameter (PluginName; Version; Copyright und LibTyp). Ich hoffe ihr habt mein Problem verstanden und könnt mir weiterhelfen. Recht herzlichen Dank im voraus Quote Link to comment
Allodo Posted October 23, 2009 Author Share Posted October 23, 2009 Keiner hier der mir helfen kann? Nicht mal diejenigen, welche für die Plugin-Schnittstelle zuständig sind? Ist ja wirklich schade. Ich habe schon versucht eine dll zu erstellen, welche nur die 4 beschriebenen Funktionen inne hat und bei einer Funktion eine Instanz meiner Klasse erzeugt (was bei der exe so anscheinend ausreicht). Nur leider startet dann der DVBViewer nicht mehr, sobald ich die dll in den Plugin-Ordner stelle. Es ist nicht so, dass ich mir nicht schon verschiedene Plugins-Sources angeschaut hätte, aber entweder es waren Plugins mit GUI-Elementen (von mir nicht benötigt), oder es waren Input-Plugins (ebenfalls nicht benötigt) oder sonst etwas. Die Beschreibung des SDK ist leider auch nicht wahnsinnig aussagekräftig. Deswegen noch einmal die bitte einen Hinweis zu geben, wie man an meiner Stelle (nur Ausgabe auf dem Display) vorgehen muss bzw. sollte. Vielen Dank. Quote Link to comment
dgdg Posted October 23, 2009 Share Posted October 23, 2009 (edited) Es ist nicht so, dass ich mir nicht schon verschiedene Plugins-Sources angeschaut hätte, aber entweder es waren Plugins mit GUI-Elementen (von mir nicht benötigt), oder es waren Input-Plugins (ebenfalls nicht benötigt) oder sonst etwas. Die Beschreibung des SDK ist leider auch nicht wahnsinnig aussagekräftig. Ja, das ist leider so, dass hier jeder auf seinem Plugin-Code und Plugin-Knowhow hockt, als wäre es die grö0te Erfindung der Welt. Aber wo käme man denn da hin, wenn man sich mühsam in das Thema einarbeitet und dann andere einfach schmarozend davon provitieren. ;-) Wenn es mehr Quellen gäbe, die man als Vorlage (oder Grundlage) für eigene Projekte verwenden könnte, gäbe es sicher deutlich mehr Plugins. Aber so eine Open-Source-Kultur gibt es um den DVBViewer herum leider nicht. Ich habe auch schon zwei Anläufe gestartet, aber da bei mir die Hürde doppelt hoch war (Einarbeitung in Delphi und Einarbeitung in die Plugin-Schnittstelle, überhaupt bin ich nicht so er erfahrene Windows-Programmierer) habe ich es mangels Quelltextvorlagen immer wieder zu Seite gelegt. Mein Plan war, meine Hausautomatisierung (die in C geschrieben ist) per Plugin an den DVBViewer zu hängen. Ich habe jetzt schon überlegt, ob ich nicht einfach EventGhost zwischenschalte und das ganze in Perl code. Da gibt es dann wenigstens viele Quelltextvorlagen. Aber ein Nativ-Plugin in Delphi wäre mir lieber gewesen. Im Moment bediene ich alles über ein eigenes HTML-Interface. Aber das geht leider nicht mit der Fernbedienung von der Wohnzimmer-Couch. Bezeichnend ist auch, dass sich bei Fragen zur Plugin-Schnittstelle eher noch die Programmierer selbst zu Wort melden als andere Plugin-Programmierer. Letztere verweisen eher auf die spärlichen Beispiele im Download-Bereich, als dass sie selber mal eine Info rausrücken oder gar eigene Erfahrungen preisgeben. Ich habe leider nicht unbegrenzt Zeit und Lust, alles was andere vorher schon mal ausgetüftet haben, nochmal neu zu coden. Edited October 23, 2009 by dgdg Quote Link to comment
nuts Posted October 23, 2009 Share Posted October 23, 2009 Für Delphi gibt es ja 2 Beispiele von den Entwicklern mit Sourcecode. Für C gibts sowas leider nicht. Im Gegensatz zur Com-Schnittstelle verstehe ich bei der Plugin-Doku kein Wort. Ist wohl auch nicht für Anfänger geeignet. Quote Link to comment
Tüftler Posted October 23, 2009 Share Posted October 23, 2009 Ja, das ist leider so, dass hier jeder auf seinem Plugin-Code und Plugin-Knowhow hockt, als wäre es die grö0te Erfindung der Welt. Aber wo käme man denn da hin, wenn man sich mühsam in das Thema einarbeitet und dann andere einfach schmarozend davon provitieren. ;-) Das finde ich ziemlich schade bei euch. In VBS Sachen läuft das von Natur aus anders, da es ja eh für jeden ersichtlich ist. Ich halte auch nicht viel davon wenn jeder sein eigenes Süppchen kocht, denn das behindert deutlich die Verbesserung des DVBViewers. Da mir das DVBViewer Entwicklerteam ihre Verbesserungen auch kostenlos zur Verfügung stellt gibt es für mich gar keine andere Option als mein Wissen bzw. meine Problemlösungen hier zu veröffentlichen. Und das jeder von dem anderen lernen kann steht wohl völlig außer Frage. Schließlich führen viele Wege nach Rom. Quote Link to comment
dgdg Posted October 23, 2009 Share Posted October 23, 2009 Für Delphi gibt es ja 2 Beispiele von den Entwicklern mit Sourcecode. Für C gibts sowas leider nicht. Es gibt aber wohl Leute, die das in C schon erfolgreich gemacht haben. Aber veröffentlich wird der Code leider nicht. Quote Link to comment
nuts Posted October 23, 2009 Share Posted October 23, 2009 (edited) Naja es kann niemand gezwungen werden seinen Quellcode zu veröffentlichen. Man weiss ja gar nicht was für Funktionen wirklich dahinterstecken (könnten ja auch Sachen von der Arbeit mit eingeflossen sein usw.). Bei Skriptsprachen ist das ja anders. Ersten gibt es kaum was schützenswertes und zweitens ist der Sourcecode eh leicht zu ermittlen. Trotzdem wäre ein kleines Basis-Plugin in C natürlich super! Edited October 23, 2009 by nuts Quote Link to comment
Tjod Posted October 23, 2009 Share Posted October 23, 2009 Einen wichtigen Punkt sollte man nicht vergessen. Wenn man den Quelltext veröffentlicht muss er auch halbwegs geordnet sein und das ist nicht immer der Fall wenn jemand was hauptsächlich für sich in der Freizeit Programmiert. Und mir ist auch kein Plugin bekannt was in C geschrieben ist. Mit C++ sieht es da schon etwas anders aus, dazu hat aber erwin auch schon einiges geschrieben: http://www.DVBViewer.info/forum/index.php?showtopic=33691 und Rayman (bezieht sich aber auf das COM Interface) http://www.DVBViewer.info/forum/index.php?showtopic=13784 http://www.DVBViewer.info/forum/index.php?showtopic=10580 Aber zumindest von den Erweiterungen für den DVBViewer die wirklich die Plugin Schnittelle nutzen sind glaube ich die meisten in Delphi geschrieben und da gibt es ja auch ein paar beispiele. Quote Link to comment
Tüftler Posted October 23, 2009 Share Posted October 23, 2009 Einen wichtigen Punkt sollte man nicht vergessen. Wenn man den Quelltext veröffentlicht muss er auch halbwegs geordnet sein und das ist nicht immer der Fall wenn jemand was hauptsächlich für sich in der Freizeit Programmiert. Für sowas gibt es doch das Forum, da kann man das dann Fragen was unklar ist. Allodo hat es so gemacht, nur geantwortet hat ihm keiner. Quote Link to comment
dgdg Posted October 23, 2009 Share Posted October 23, 2009 (edited) Einen wichtigen Punkt sollte man nicht vergessen. Wenn man den Quelltext veröffentlicht muss er auch halbwegs geordnet sein und das ist nicht immer der Fall wenn jemand was hauptsächlich für sich in der Freizeit Programmiert. Warum? Jeder kann doch sein Quellcode veröffentlichen wie er will? Es muss ja keine vom DVBViewer-Programmierteam geprüfte und freigegebene Version sein, die dann im offiziellen Download-Bereich liegt. Wenn man die Hürde so hoch legt, dann wirds sicher nix. Und mir ist auch kein Plugin bekannt was in C geschrieben ist. Mit C++ sieht es da schon etwas anders aus, dazu hat aber erwin auch schon einiges geschrieben: Natürlich meinte ich mit C eigentlich C++. Aber zumindest von den Erweiterungen für den DVBViewer die wirklich die Plugin Schnittelle nutzen sind glaube ich die meisten in Delphi geschrieben und da gibt es ja auch ein paar beispiele. Eben - Beispiele. Keine wirklich sinnvollen Plugins die auch wirklich im Einsatz sind. Dann wüsste man nämlich, dass die ersten noch auf dem aktuellen Stand sind und zweitens halbwegs fehlerfrei sind. Ich will ja auch niemanden nötigen, seinen Code zu veröffentlichen. Ich meine nur, wir hätten für den DVBViewer deutlich mehr und deutlich bessere Plugins, wenn mehr Quellcode verfügbar wäre. Das zeigt ja auch beispsielsweise die Dynamik bei dem OSD-Skins. Wenn da auch jeder wieder bei Null angefangen hätte, hätten wir deutlich weniger Auswahl. Edited October 23, 2009 by dgdg Quote Link to comment
Tjod Posted October 23, 2009 Share Posted October 23, 2009 Warum? Jeder kann doch sein Quellcode veröffentlichen wie er will? Ich glaube du hast mich da Falsch verstanden. Mir ist es Egal wie jemand seinen Quellcode veröffentlicht. Nur die meisten Zeigen nicht gerne Ihre Sachen wenn sie nicht wenigstens halbwegs Ordentlich sind. Quote Link to comment
dgdg Posted October 23, 2009 Share Posted October 23, 2009 Ich glaube du hast mich da Falsch verstanden. Mir ist es Egal wie jemand seinen Quellcode veröffentlicht. Nur die meisten Zeigen nicht gerne Ihre Sachen wenn sie nicht wenigstens halbwegs Ordentlich sind. Stimmt. Da gebe ich dir recht. Das wäre natürlich mal ein Anlass, den eigenen Code aufzuräumen. ;-) Aber ich persönlich fände unordentlichen Code besser als gar keinen. Quote Link to comment
smd Posted December 22, 2009 Share Posted December 22, 2009 Hallo, ich besitze zwar nicht so ein Futuba aber ein ähnliches Samsung VFD 20S207DA1. Habe meines über die serielle-(wandler)-USB schnittstelle angeschlossen und das ganze in LCDHype eingebunden. Übrigens in LCDHype ist ein Futuba Treiber schon drin. Im Anhang mal das Script, ist ähnlich IMON. Ich hoffe es Hilft Dir weiter. smd smd2.zip Quote Link to comment
erwin Posted March 22, 2010 Share Posted March 22, 2010 Ja, das ist leider so, dass hier jeder auf seinem Plugin-Code und Plugin-Knowhow hockt, als wäre es die grö0te Erfindung der Welt. Aber wo käme man denn da hin, wenn man sich mühsam in das Thema einarbeitet und dann andere einfach schmarozend davon provitieren. ;-) Wenn es mehr Quellen gäbe, die man als Vorlage (oder Grundlage) für eigene Projekte verwenden könnte, gäbe es sicher deutlich mehr Plugins. Aber so eine Open-Source-Kultur gibt es um den DVBViewer herum leider nicht. http://www.DVBViewer.info/forum/index.php?...st&p=290734 erwin 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.