Plugin mit Delphi ?!

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: Plugin mit Delphi ?!

Re: Plugin mit Delphi ?!

von ScanMan » 09 Jun 2010, 23:50

... Haloo Insider / Progger !
Keine Ideen, Vorschläge, Lösungen ?

Re: Plugin mit Delphi ?!

von ScanMan » 06 Jun 2010, 15:15

Aaaaah - geht doch irgendwie !
Wenn ich das nach erster, relativ oberflächlicher Durchsicht richtig verstanden habe, geht das in etwa so:

- via COM
Du hast eine DLL, welche du aus Java rufst und damit Kommunikation mit einem COM-Server machst.
Diese notwendige DLL ist ja nicht gerade ein 3-Zeiler und dann für die anzusprechenden Apps - hier DVBViewer - jedesmal speziell.
Dazu braucht's dann noch den COM-Server auf der App-Seite.
Sicherlich funktionell und sicher, aber für ein 'paar' kleine Kommandos/Parameter doch eben recht aufwendig.

- via Messages
... finde ich die gelungenere, weil einfachere und universellere Methode !

Wenn ich das richtig erkannt habe, benutzt Java da einen C_Source, mit dem sich Process-/Fensterhandles aus (Pfad +) Dateiname und Fenster-Titel ermitteln lassen, so daß man mit einer '(Post-)Sendmessage' zumindestens elementare Integer-Daten (keine Strings, Arrays, o.ä.) an eine Win-App schicken kann.
>>> So mache ich es auch immer.
Würde man da nocht ein wenig in Richtung WM_COPYDATA (siehe http://msdn.microsoft.com/en-us/library ... 85%29.aspx) erweitern, wäre auch die Lücke geschlossen.
Sofern man nun ggf. darauf verzichtet, seitens TV-Browser auf Rückmeldungen, Events, o. ä. zu reagieren (der OneWay zur App), kann mann sich dort die notwenigen Message-Handler für WinDoof sparen.
Allerdings ist das in C sicherlich auch nicht nennenswert schwieriger/komplizierter als in Delphi - oder ?

Vorteil dieser Art der Kommunikation wäre m.E., das man hier einmalig einen Code in Java / C schreibt und mit variablen Angaben für den Message-Typ und die Parameter dann in 'Abstimmung' mit dem zu kommunizierenden Programm sehr flexibel auslegen kann.
Wenn man WinDoof richtig 'fragt', bekommt man auch die Auskunft, ob ein Process überhaupt ein Fenster hat, dieses 'visible' ist, im Tray oder in der Taskbar liegt. D.h., an das Fensterhandle komme ich immer ran.

Ich habe bereits vor einiger Zeit erfolgreich für DVBDream ein Modul (das ist eine spezielle DLL - es gibt auch Plugins, aber das ist was anderes) geschrieben, mit dem ich mit einem x-beliebigen Programm in Kontakt treten kann, Daten kommunizieren und sich die beiden Programme (nahezu) beliebig fernsteuern lassen. Auch gegenseitiges starten und beenden.
Aus DVBDream heraus kann ich alles lesen und darin steuern, was die API des Proggies hergibt.
Alles nur per Post-/Sendmessage und WM_CopyData.

Meine kleine DVBDream-Erweiterung für ds10's 'WinTVCapGUI' ist übrigens ein Derivat davon - René ruft einfach die Datei DVBDreamStart2.EXE und übergibt je nach Bedarf div. definierte Paramter und ich schicke die nach einer Syntaxprüfung einfach weiter...
Die Lösung funktioniert, allerdings ist das auch hier der 'OneWay' vom TV-Browser zur App, da keine 'Rückmeldungen' gesendet, bzw./ empfangen werden können.

Fazit:

Auf meiner Seite (hier also DVBDream als DVB-App) könnte ich sagen: ' ... habe (fast) fertig !'
Seitens TV-Browser müsste man (nur ?) noch die Erkennung der DD-Moduls (richtig) implementieren und 'Konversations-Definitionen' zu Message-ID's und Parameter-Typen vereinbaren.
Genial wäre dann logo noch die Möglichkeit, das Stati aus der DVB-App. abgefragt werden oder gar als 'Event' verarbeitet werden können, wie z. B.:
- Wie ? Umschalten ? Aufnahme läuft auf aktuellem Programm ! Soll ich die die abwürgen ?
- Du willst meine aktuelle Programm-Liste mit ID's ? Bitte sehr ...
- Was guckt der User gerade aktuell - gibt mal die Programm-ID. Hier, bitte ... (z. B. zum einstellen des aktuellen Programms im TV-Browser)
- ... und etliches mehr.

Bekommen wir das was hin ?
Wenn 'Absichtserklärungen' von mindestens einer Java-Seite kommen, mache ich mich mal daran, ein TV-Browser für DVBDream zu schreiben und definiere einfach mal was / die Schnittstellen vor, was dieses Modul dann so alle 'könnte'. Ob das TV-Browser-Plugin dann auch alles (sofort) bedient, ist dann eine andere (Zeit-) Frage ....

..... ach ja:
Zu meinem Fernbedienungs-Tool hat sich immer noch keine(r) geräuspert.
Kein Interesse ? Gibt's schon ? Muss / soll ich das mal hier wo anders posten ?
Da ich das für DVBDream bereits 'am Start habe', wäre es ein leichtes von dort den TV-Browser zu steuern.
Via Tastensimulation geht das ja schon - via Plugin ist das sicherlich eleganter und komfortabler !?

Re: Plugin mit Delphi ?!

von Prinz » 05 Jun 2010, 20:25

Hallo,
ScanMan hat geschrieben:Wenn es denn mit dem DVBViewer - und das ist auch eine Win-App - mit 'Unterhaltung' via COM (damit ist ja hoffentlich das Component Objet Model gemeint und nicht die serielle Schittstelle ???) funtkioniert, so ist das für mich dann auch nicht das Problem, das zumindestens 'zuzuhören'.

Wer hat das Plugin denn gebastelt ? Ist das so geheim, das es dazu keine Info's / Sourcen gibt ? Oder eine Eigenpoduktion aus dem Hause Hackbart ?
Richtig, unter COM habe ich das Component Objet Model gemeint. Gleichzeitig bekenne ich mich der Programmierung dieses Plugins schuldig ;-). Der Quellcode ist unter folgender URL zu finden:

http://www.dvbviewer.info/forum/index.p ... opic=40754

Dort sind die nativen Java-Aufrufe in der Klasse "dvbviewertimerimport/dvbviewer/DVBViewerCOM.java" realisiert. Der für die DLL notwendige C++-Code ist dann auch in der gepackten SourceCode-Datei zu finden.

Das etwas ältere andere Plugin für den DVBViewer, schickt dem Viewer eine Windows-Message, damit er die aktuelle Aufnahmeprogrammierung aus einer XML-Datei liest, welche das Plugin vorher geschrieben hat. Diese Methode hat jedoch den Nachteil, dass Sie beim Viewer nicht beim minimierten Fenster funkt und der DVBViewer nach der Message immer die Init-Dateien neu einliest, was zu rucklern führt. Beri Verwendung der COM-Schnittstelle werden diese Nachteile vermieden.

Der Code des älteren Plugins ist unter folgender URL zu finden.

https://tvbrowser.svn.sourceforge.net/s ... lugin-dvb/

Hier werden die dafür notwendigen nativen Methoden in der Klasse "dvbplugin.dvbviewer.ProcessHandler" definiert und der entsprechnde C++-Code befindet sich dort unter "/DVBPlugin/CProcessHandler"


Gruß
Prinz

Re: Plugin mit Delphi ?!

von ScanMan » 05 Jun 2010, 18:39

Vielleicht habe ich mich in vorangegangenen Postings estwas missverstädnlich ausgedrückt...
Mir geht es um folgendes:

Kann eine Java-App, welche (speziell in meinem Fall) auf einer WinDoof-Plattform läuft, auf EINFACH(ST)E WEISE mit einer anderen WinDoof-App. in IRGENDEINER ART zumindestens in der Richtung Java -> Win-App kommunizieren und dabei Informationen / Daten / Kommandos nahezu gleicher welcher Art austauschen ?

Es ist mir ehrlich gesagt auch völlig wurscht, ob das standardmäßig aus Java unter Win funktioniert und / oder ob man dafür ein Plugin oder sonst was auf der Java-Seite zusammenschustern muss.
Es muss - oder soll auch gerade nicht - ein Delphi-Plugin/-DLL oder eine andere Art von Krücke für Java sein !

Es muss doch irgendwie gehen ?
Wenn es denn mit dem DVBViewer - und das ist auch eine Win-App - mit 'Unterhaltung' via COM (damit ist ja hoffentlich das Component Objet Model gemeint und nicht die serielle Schittstelle ???) funtkioniert, so ist das für mich dann auch nicht das Problem, das zumindestens 'zuzuhören'.

Wer hat das Plugin denn gebastelt ? Ist das so geheim, das es dazu keine Info's / Sourcen gibt ? Oder eine Eigenpoduktion aus dem Hause Hackbart ?

Mit Aussagen wie '... jo, gibt's doch schon ...' ist mir als anerkannter Java--Super-Dummie absolut nicht geholfen.

Re: Plugin mit Delphi ?!

von ds10 » 05 Jun 2010, 00:15

ScanMan hat geschrieben:Aufnehmen ?
Prinzipiell das gleiche wie Programm umschalten, nur ein Kommando/Message mit anderen Param's halt.
Allerdings sehe ich das hier auch so, dass NICHT der TV-Browser sich die aufzunehmenden Sendungen merken muss, sondern die DVB-TV-App.
Warum müssen auf einem Rechner in 'Low-Config' 2 Programme für den gleichen Zweck laufen und unnützt Kommunikation machen ?
Auch dafür hat ds10 ja das 'WinTVCapGUI'-Plugin gemacht
Da muss ich jetzt doch mal widersprechen, WinTVCap_GUI war für WinTVCap, sonst würde es ja nicht so heißen ;-), und WinTVCap kann sich keine Aufnahmen merken, da es einfach nur ein Kommandozeilentool ist. Alles was danach kam, waren Verbesserungsvorschläge für WinTVCap_GUI und die haben letztendlich dazu geführt, dass man jetzt auch andere Aufnahmeprogramme ansteuern kann.

Re: Plugin mit Delphi ?!

von Prinz » 05 Jun 2010, 00:12

ScanMan hat geschrieben:Mehr braucht's eingentlich nicht - also:
-> Der TV-Browser muss eigentlich 'NUR' irgendwie wie bisher bedient werden - Maus, Keyboard, mein FB-Tool (s.o.), irgendwie halt...
? Vielleicht sich irgendewie 'inspirieren' lassen, auf welchenTag/Zeit/Programm er gleich fokussieren soll ?
-> ... Messages in irgendeiner Form an eine DVB-App. oder andere senden
? Hallo, Prog. umschalten, jetzt oder später aufnehmen !

Mehr doch nicht - ist das so schwer, auf WinDoof-Ebene solche Kommandos zu kommunizieren ?
Ist JAVA auf betreff WInDoof wirklich so in-kommunikativ und kann nicht mal die elementarsten Message-Funktionen zu anderen App's nutzen nutzen :?: :?: :?:
Wie sieht es denn bei Nutzern von DVB-Apps. auf andernen Plattformen aus ? Was 'spricht' JAVA denn da so als Ansage in den System-Raum ?
Ich weiß momentan nicht, ob das mit dem Fokusieren aktuell geht, für die übrigen Funktionen muss man halt ein anwendungsspezifisches Plugin schreiben.

Beispielsweise kommuziert man mit dem DVBViewer über die COM-Schnittstelle.

Das in einem Plugin zu realisieren ist auch unter Java möglich. Hierzu kann man entweder das JNI-Interface verwenden oder andere Libraries verwenden, welche die COM-Schnittstelle quasi unter Java anbieten (beispielsweise die Library Jawin u.a.). Dass diese intern das Java Native Interface nutzen, braucht man dann gar nicht zu wissen.

Man sollte doch nicht vergessen, C/C++ kann mit Windows doch auch nur kommunizieren, wenn entsprechende Libraries zur Verfügung gestellt werden und das ist auch sinnvoll, wenn betriebsabhängige Sachen in die Libraries verbannt werden. Genauso gilt das in der Regel auch für die anderen Programmiersprachen wie beispielsweise Python.
ScanMan hat geschrieben:Das muss doch irgendwie hinzukriegen sein - oder :?:
... und wenn JAVA keine 'einfache' Kommunikation zumindestens unter WInDoof 'irgendwie' hinbekommt, das ist das für mich noch ein weiterer Grund, diese Sprache weiter zu ignorieren.
Auch wenn man Plattform-Unabhängig sein will, muss man - der TV-Browser - sich ja in den jeweiligen Plattformen programmiertechnisch doch irgendwie 'zurechtfinden'.
D.h. es sollten auch Plattform-spezifische 'Dinge' abgehandelt werden können.

Kämen (oder sind schon x-mal gekommen ?) Fragen wie:
- ... warum geht dies nicht unter WinDoof ?
- ... warum geht das nicht mit dem Pinguin ?
- ... und warum das nicht auf diesem OS ?

Kann doch so nicht gewollt sein - oder :?:
Kriegen wir da nun was hin oder nicht :?:
Warum soll das nicht hinzubekommen sein, die vorhandenen Plugins zeigen doch, dass es geht.

Man sollte aber eins nicht vergessen, warum sind die Schnittstellen der Applikationen überhaupt betriebssystemabhäng? Für viele Anwendungen kann man sich auch Alternativen vorstellen. So hat beispielsweise der DVBViewerService ein WebAPI, so dass man den auch von einer Linux-Kiste oder Apfel steuern kann, obgleich er auf einem WinDoof-System läuft.

Re: Plugin mit Delphi ?!

von ScanMan » 04 Jun 2010, 21:41

... natürlich wollte ich so etwas nicht hören :cry:
... und sicher ist das ne Menge Eulen irgendwohin tragen, die da vlt. gar nicht hin wollen :wink:

'Geht nich gipps nich' ist eine meiner Devisen - neben ambitionierter, privater 'Proggerei für Allerlei' (im Mom. wieder mal was für DVBDream in eigener Sache nachzuholen) arbeite ich in einem sehr namhaften Ing-Büro und werde dort jeden Tag mit Probs konfrontiert, wo es was zu lösen gilt - weil Kunden die abenteuerlichsten Ideen haben.
Auch als Moderator bei DVBDREAM.DE werde ich oft mit vermeintlich abstrusen Ideen konfrontiert, die man erst mal irgendwie abwiegelt, aber bei nochmaligem Nachdenken wieder aufgreift und sich selbst sagt: '.... gar nicht mal so dumm ... ' :idea:

Nicht nur in einem Forum oder Job wird man mit Ideen und Wünschen überschüttet - ich für meinen Fälle habe auch ne Menge dann und wann.
Alles irgendwie gute und schlechte. Auch die eine oder andere zunächst vermeintlich schlechte oder nicht realisierbare Idee entpuppt sich irgendwann mal als die 'DAS DING', was 'man' eigentlich schon lange hatte und dann jemand anders ... zu Geld macht ?! Oder sonst wie goldenen Lorbeer erntet ....
Mir reicht in privaten Dingen regelmäßiges 'Schulterklopfen' ohne Geldreichungen... :mrgreen:

Dazu sei noch angemerkt:
TV-Browser ist eine wirkliche gute App. :!: LOB, LOB, LOB :arrow: aber logo wie viele andere Apps mit kleinen Bugs und nie ganz fertig :wink:
Ich habe auch nicht die Absicht, darin außer Tipps und [vermeintlichen] Bugmeldungen (kommen noch) großartige Veränderungen anzustreben. Ist alles OK so hier.
Soll ja schließlich Multi-OS-tauglich sein und auf 32/64-bittigen Systemen laufen.
Ist ja auch im Outfit und Handling absolut i.O., aber........ diese Sch..ß Ideen immer :oops:

Nun mal so einen Ideen-Ablauf, wie ich oder andere sich ein 'Zusammenspiel' mit TV-Browser und DVBDream (oder anderen Apps.) vorstellen:

- Man sitzt im 'Living-Room' vor dem HTPC - nur eine (!) Fernbedienung - keine Maus oder Schlüsselbrett.
- DIe DVB-App. läuft und man guckt irgendein Programm... Zappt ein wenig ... Was läuft jetzt oder später oder woanders ? Morgen ? Demnächst irgendwo...
- Man könnte dann einen DVB-App.-internen EPG oder Teletext starten ... oder halt eben den TV-Brower !
>>> Schön wäre es, wenn dieser gleich mit dem laufenden DVB-Programm synchronisiert, bzw. es als aktuelle Auswahl anzeigt.
- Sofern man denn mein o.g.FB-Tool (nur WINDOOF !) verwendet kann man und aus dem Sofa im TV-Browser blättern, sucht, guckt, wählt, ...
>>> ... und aus gleich TV-Browser das Programm für die DVB-App. auswählen - eben NICHT merken, zur DVB-App. zurück und dann dort noch mals suchen und GO !
Dafür hat ds10 ja dieses 'Switch'-Plugin gebastelt, was ich zwar gut, aber nicht für sehr praktikabel finde. (Details warum s. o. oder weitere bei Bedarf)
>>> Eine Rückmeldung an die Brause ist hier nicht relevant oder notwendig.

Aufnehmen ?
Prinzipiell das gleiche wie Programm umschalten, nur ein Kommando/Message mit anderen Param's halt.
Allerdings sehe ich das hier auch so, dass NICHT der TV-Browser sich die aufzunehmenden Sendungen merken muss, sondern die DVB-TV-App.
Warum müssen auf einem Rechner in 'Low-Config' 2 Programme für den gleichen Zweck laufen und unnützt Kommunikation machen ?
Auch dafür hat ds10 ja das 'WinTVCapGUI'-Plugin gemacht, was zwar recht durchdacht, aber auch wiederum wie 'Switch' nicht so wirklich praktikabel ist.

Sonst noch was ?
>>> vielleicht noch so was wie ein PIP (ohne Ton) nur zum beobachten eines Programmes starten ... (Handling in der DVB-App. !)
Geht natürlich auch nur wenn die DVB-App. das unterstützt - ich arbeite u. a. gerade dran.

Mehr braucht's eingentlich nicht - also:
-> Der TV-Browser muss eigentlich 'NUR' irgendwie wie bisher bedient werden - Maus, Keyboard, mein FB-Tool (s.o.), irgendwie halt...
? Vielleicht sich irgendewie 'inspirieren' lassen, auf welchenTag/Zeit/Programm er gleich fokussieren soll ?
-> ... Messages in irgendeiner Form an eine DVB-App. oder andere senden
? Hallo, Prog. umschalten, jetzt oder später aufnehmen !

Mehr doch nicht - ist das so schwer, auf WinDoof-Ebene solche Kommandos zu kommunizieren ?
Ist JAVA auf betreff WInDoof wirklich so in-kommunikativ und kann nicht mal die elementarsten Message-Funktionen zu anderen App's nutzen nutzen :?: :?: :?:
Wie sieht es denn bei Nutzern von DVB-Apps. auf andernen Plattformen aus ? Was 'spricht' JAVA denn da so als Ansage in den System-Raum ?

Ich gebe unumwunden zu, das es absolut keinen SInn macht, irgendleche Krücken zu proggen, die nicht wirklich oder nur unter bestimmten Bedingungen laufen.
Die folgenden, zu erwartenden Anfragen in Foren wie ' ... ich hab das hier GENAUSO und wie angeben gemacht und wie versprochen startet meine Kaffemaschinie immer 15 Min. zu spät und die Klo-Spülung zieht neuerdings automatisch auch alle 15 Min. - von selbst ...' In solchen Fällen immer erst den Apotheker fragen :mrgreen:

Das muss doch irgendwie hinzukriegen sein - oder :?:
... und wenn JAVA keine 'einfache' Kommunikation zumindestens unter WInDoof 'irgendwie' hinbekommt, das ist das für mich noch ein weiterer Grund, diese Sprache weiter zu ignorieren.
Auch wenn man Plattform-Unabhängig sein will, muss man - der TV-Browser - sich ja in den jeweiligen Plattformen programmiertechnisch doch irgendwie 'zurechtfinden'.
D.h. es sollten auch Plattform-spezifische 'Dinge' abgehandelt werden können.

Kämen (oder sind schon x-mal gekommen ?) Fragen wie:
- ... warum geht dies nicht unter WinDoof ?
- ... warum geht das nicht mit dem Pinguin ?
- ... und warum das nicht auf diesem OS ?

Kann doch so nicht gewollt sein - oder :?:
Kriegen wir da nun was hin oder nicht :?:

Das wollte Bananeweizen sicher auch nicht wirklich hören - oder :?:

Re: Plugin mit Delphi ?!

von Bananeweizen » 04 Jun 2010, 16:27

Deinen Enthusiasmus in Ehren, aber du willst Dinge tun, die aus meiner Sicht keinen Sinn machen.
* Plugins im TV-Browser stellen die Funktionalität zwar ähnlich wie bei einer DLL bereit, allerdings gibt es nirgendwo irgendwelche Rückgabewerte von den Plugins zum TV-Browser. Warum auch, der Kern soll schließlich unabhängig von der Semantik des Plugins sein. Der TV-Browser weiß also nie, dass gerade eine Aufnahme gestartet wurde.
* Wenn du einfach nur Funktionen im TV-Browser triggern willst, dann braucht es kein Plugin. Mach einfach so weiter wie bisher und steuere alles über Windows-Messages.
* Der TV-Browser selbst wird grundsätzlich keine Windows-Messages durch die Gegend senden. Mal davon abgesehen, dass die nur unter Windows funktionieren, ist die Kommunikation über Windows-Messages selbst bei reinen Windows-Programmen eine ziemliche Krücke (zumindest meiner unbescheidenen Meinung nach). Gerade als Delphi-Programmierer sollte man die eigentlich längst unter "veraltet" verbuchen, weil Delphi die ja schon seit Beginn der Zeit in Form von Events zur Verfügung stellt, wo C++-Programmierer immer noch lange handleMessage-Routinen schreiben...
* Sämtliche Bridging-Mechanismen werden mehr Code brauchen, als wenn man die Funktionalität gleich in purem Java implementiert und führen sich für diesen Anwendungsfall selbst ad absurdum.

Das ist bestimmt nicht das, was du hören wolltest, aber ich erteile dir lieber eine klare Absage, als dass ich dir vergebliche Hoffnungen mache.

Re: Plugin mit Delphi ?!

von ScanMan » 03 Jun 2010, 18:02

Re: Plugin mit Delphi ?!

von ScanMan » 03 Jun 2010, 17:51

Ich habe mir das hier http://home.pacifier.com/~mmead/jni/delphi/ mal grob zu Gemüte geführt.
Scheint das ja gar nicht so überaus schwiering zu sein, mit einer JAVA-App zu kommunizieren.

Man schreibe also eine DLL in Delphi mit entsprechenden Konventionen und lasse die Funktionen aus JAVA rufen, in dem man die DLL dort lädt.
Ob das nun auch anders herum von Delphi nach JAVA gehen soll, habe ich nocht nicht ergründet.
Mir würde der 'OneWay' von Java nach Delphi schon reichen....

ds10 hat ja schon no nette Plugins wie 'WinTVCapGUI' und 'Switch' gemacht.
Hier im speziellen Bezug auf DVBDream läuft das allerdings alles über einen Programmrauf-Aufruf einer speziellen Kommandozeilen-Variante, was zwar funktioniert, ich ehrlich gesagt aber nicht als besonders 'glücklich' gelöst finde.

Ich habe zur Steuerung des TV_Browsers mal mein 'ControlCenter'-Plugin für DVBDream (mit ner Standard TV-FB eine App bedienen, ähnlich WinLIRC) ein wenig erweitert, so daß ich
- prüfen kann, ob der TV_Browser läuft. Wenn nicht starte ich diesen.
- das Fenster des TV_Browsers (bei Bedarf) maximieren oder nach vorne holen kann, bzw. wieder in den Hintergrund schiebe oder die JAVA-App beende.
- mit entsprechend (um-) belegten Tasten der FB eine entsprechende Keyboard-Taste für die Hotkeys des TV_Browsers simuliere und die an das Fenster schicke.

Funktioniert so weit in die Richtung des TV_Browsers in einer Vorversion ohne großen Konfigurations-Schnickschnack schon ganz hervorragend !
Funktionert mit allen IR-FB- also nahezu alle TV-, DVD-, RF-/DVB-Receiver- und ähnliche, die das Licht mit ca. 36 KHz modulieren und Protokolle wie Philips RC5/6, NEC, Sony, u.v.m. senden.
Man kann jede FB-Taste anlernen, in dem man diese drückt und dazu einer Keyboard-Taste zuweist (durch drücken). Es geht alles normale - auch mit Unterscheidung des Ziffernblocks, mit ALT-, CRTL und SHIFT, alle Funktionstasten. Eigentlich alles was man irgendwo auf dem Schlüsselbrett drücken kann. Wie gesagt ähnlich WinLIRC - nur besser !
Ich benutze dazu die FB von meinem Samung LCD (ist RC5+6), in dem ich die Untergruppe DVD zum steuern der DVB-App nutze, ohne das die Glotze zickt.
So habe ich nur eine FB auf dem Tisch ....

Hätte ich auch als Standard-WinDoof-EXE für Nicht-DVBDream-Nutzer, denen der 'OneWay' in diese Richtung fehlt.
Übrigens - hatte ich vor ein paar Tagen hier gesucht und nicht wirklich was zum Thema 'TV_Browser mit TV-Fernbedienung gefunden....
... besteht da interesse bei WinDoof-Usern ?

Nun der andere, vermeintlich steinige, Weg:
TV_Browser müsste dann mitteilen, welche Funktionen der User gewählt hat - z.B.:
- auf ein Programm umschalten
- eine (programmierte) Aufnahme starten
- ... und was einem sonst noch so wichtiges einfällt was die DVB-App nicht zwangsläufig eh schon macht.

Am einfachsten wäre das natürlich, wenn JAVA in WinDoof Handles ermitteln und Messages schicken könnte. Das würde den Aufwand zusätzlicher DLL's (einmal für JAVA, einmal für DD oder eine andere App) wesentlich verringern.
Bleibt die Quizfrage: Wie 'einfach' geht das in der Kaffeerösterei ?

Möglichkeit 2 wäre eine DLL für das JNI in Delphi zu schreiben, derer JAVA sich bedienen kann.

Re: Plugin mit Delphi ?!

von Bananeweizen » 03 Jun 2010, 10:49

Und bei Verständnisfragen wegen des Umstiegs auf Java helfen wir ja auch gern. Außerdem ist das ganze im Wiki dokumentiert: Übersicht Pluginentwicklung

Re: Plugin mit Delphi ?!

von Prinz » 01 Jun 2010, 22:31

Hallo,

Außerdem hilft einem die Programmierung eines solchen Plugins einfach auch beim Einstieg in Java (jedenfalls habe ich es dazu verwendet), denn schließlich ist Java heutzutage ein gewisser Standard und ist mittlerweile sicherlich verbreiteter als Delphi.

Aber auch dann kommt man kaum an der Nutzung des JNI vorbei, denn Messages/COM ... sind einfach spezielle Windows-Funktion deren Nutzung im Endeffekt nur über die JNI-Schnittstelle möglich ist. Für die COM-Schnittstelle gibt es soviel ich weiß auch Java-Libraries, ob es das auch für Messages gibt, weiß ich nicht.

Gruß
Prinz

Re: Plugin mit Delphi ?!

von Bananeweizen » 01 Jun 2010, 20:37

Ein Wrapper, der die Java-Klassen und -Methoden in einer anderen Sprache zur Verfügung stellt, würde mit Sicherheit einige Tausend Zeilen Quellcode lang werden (und hätte dann noch keine echte Funktionalität). Das liegt daran, dass ja nicht nur die Methoden der Pluginschnittstelle gewrappt werden müssen, sondern auch alle Klassen und Informationen, die von dieser Pluginschnittstelle mit dem Kern ausgetauscht werden. D.h. Unmengen von Klassen müssten in Pascal oder einer anderen Sprache nachimplementiert werden. Ich bin sicher, dass sich dieser Aufwand nicht lohnt (und ich bin sowohl in Delphi als auch unter Java zu Hause).

Re: Plugin mit Delphi ?!

von ScanMan » 28 Mai 2010, 22:07

Frag ich mal anders herum:

Wäre eine 'Krücke' in der Form möglich, das ein JAVA-Plugin für WinDoof seinerseits ein 'Interface' via Messages zur Verügung stellt ?
Soll heißen:
> Das / ein JAVA-Plugin für WinDoof 'übersetzt' die Funktionen des TV-Browsers-API 'irgendwie'
(direkt via Message oder auch als DLL-Call oder sonstwie ... )
und ich kann mit meinem Delphi die Anfragen mit entsprechenden Parametern auswerten und Kommano's dito zurücksenden.

Verstehen tue ich das prinzipiell schon, was man dem TeeVau_Brauser sagen muß / dieser einem mitteilen kann / will.
Es geht nur mal wieder um die Frage der Kommunikation zwischen den Systemen :(

Re: Plugin mit Delphi ?!

von v6ph1 » 28 Mai 2010, 21:44

Das "Problem" aktuell ist, dass alle Plugins direkt über Java angebunden sind.
Das macht das Ganze (dank einfacher Schnittstellen) "leicht".

Wenn du allerdings ein Plugin in Delphi coden willst und dafür einen Wrapper benötigst, dann ist der Wrapper (oder halt hier das JNI) sehr aufwändig zu Programmieren.
Da kommst du besser, wenn du das Plugin direkt in Java schreibst.
So groß sind die Unterschiede nicht - wenn man Programmieren kann, dann versteht man auch mit Hilfe der Quellcodes von anderen Plugins selbst eins schreiben.

Du musst so oder so ein Plugin in Java schreiben - entweder das JNI oder halt das Plugin selbst.

mfg
v6ph1

Nach oben