Jump to content
mrphlox

COM Interface: Action 16382 (Minimize)

Recommended Posts

mrphlox

Hallo

 

wie von nuts in diesem Thread schon aufgezeigt, funktioniert die Action 'WindowMinimize' im EventGhost DVBViewer Plugin seit ein paar DVBViewer Versionen nicht mehr.

 

Bin der Sache ein wenig nachgegangen und habe dabei herausgefunden:

  • Sobald man einen EventHandler für die DVBViewer Events installiert, funktioniert Action 16382 (Minimize) nicht mehr. Lässt man den EventHandler weg, funktionierts.
  • Es spielt keine Rolle, ob ein EG Plugin oder eine andere Anwendung den EventHandler installiert: Auch mit dem 'DVBVSpy' Programm (Members Area) lässt sich der Fehler reproduzieren. Sobald DVBVSpy läuft, ist 'DVBViewer.exe -x16382' wirkungslos. Das heisst auch, dass der Fehler nichts mit dem EG Plugin zu tun hat. (Getestet unter W7-32bit)

@Lars & Christian: Jetzt seid Ihr wieder einmal gefragt :) Wäre natürlich super, wenn Ihr Euch das mal anschauen und im nächsten Release fixen könntet.

 

Danke und Gruss

Share this post


Link to post
mrphlox

Ist diese Beschreibung des IDVBViewerEvents Interfaces eigentlich noch aktuell?

Vielleicht hat ja nur das Interface ein wenig geändert...

 

Methods
procedure onAction(ActionID: Integer); 
procedure onAddRecord(ID: Integer); 
procedure OnChannelChange(ChannelNr: Integer); 
procedure onControlChange(WindowID: Integer; ControlID: Integer); 
procedure onDVBVClose; 
procedure onEndRecord; 
procedure onOSDWindow(WindowID: Integer); 
procedure OnPlaybackEnd; 
procedure onPlaybackstart; 
procedure onPlaylist(const Filename: WideString); 
procedure OnPlaystatechange(RendererType: TRendererTyp; State: TPlaystates); 
procedure onRDS(const RDS: WideString); 
procedure onSelectedItemChange; 
procedure onStartRecord(ID: Integer); 

Share this post


Link to post
ZappoB

Ah, Mr. Phlox spricht ja auch Deutsch xD

 

Danke für's drum kümmern! ;)

Share this post


Link to post
Lars_MQ

Bestätigt und ich hab den grund gefunden. Ist gefixed.

Share this post


Link to post
ZappoB

Danke Lars für den Fix! ;)

Share this post


Link to post
nuts

Ich hab das gerade nochmal überprüft und kann die Beobachtung von mrphlox bestätigen.

Sobald ein Eventhandler registriert wird (darauf muss man erstmal kommen :D - gut gemacht!) funktioniert die Action 16382 (Minimize) nicht mehr.

 

edit\ Super! Danke Lars & mrphlox :bye:

Edited by nuts

Share this post


Link to post
Lars_MQ

Also mal ganz ehrlich. Ich weiss zwar woran das liegt und habe einen weg gefunden das problem sicher (=ohne nebenwirkungen) zu beheben, aber warum es überhaupt auftritt ist mir ein absolutes rätzel. :blink:

Share this post


Link to post
mrphlox

Bestätigt und ich hab den grund gefunden. Ist gefixed.

wow, das ging ja blitzschnell!! Vielen Dank!!

 

edit\ Super! Danke Lars & mrphlox :bye:

Du hast - vlt unwissentlich - selbst den wichtigsten Beitrag geliefert: dank deinem 'DVBViewer simple' Plugin, wo das Problem ja nicht auftritt, und ZappoB's Hinweis darauf, war es nur noch etwas Fleissarbeit, die Ursache zu finden :rolleyes:

Share this post


Link to post
nuts

Also auf den Zusammenhang mit dem Eventhandler wäre ich nie gekommen. :bounce:

 

Aber schön zu sehen, dass du auch am orginal DVBViewer-Plugin dran bist!

Ich hätte da auch noch eine Anmerkung:

 

Ist es wirklich unproblematisch

"win32com.client.EnsureDispatch" bzw. "win32com.client.Dispatch" zu verwenden?

Ich hab die win32com nun nicht näher untersucht, aber Lars hat schon öfters erwähnt, dass die Verbindung zum DVBViewer nicht mit CreateObject (dem entspricht das doch oder?) hergestellt werden sollte.

Deshalb verwende ich in meinem Plugin: "win32com.client.GetObject"

Share this post


Link to post
mrphlox

erst mal sorry für die späte Antwort - ich hatte in den letzten Wochen schlicht keine Zeit, mich diesem Hobby zu widmen.

Aber schön zu sehen, dass du auch am orginal DVBViewer-Plugin dran bist!

Nun ja, im Moment backe ich da nur ganz kleine Brötchen, mein Zeitbudget lässt derzeit nicht mehr zu...

 

Ist es wirklich unproblematisch

"win32com.client.EnsureDispatch" bzw. "win32com.client.Dispatch" zu verwenden?

Ich hab die win32com nun nicht näher untersucht, aber Lars hat schon öfters erwähnt, dass die Verbindung zum DVBViewer nicht mit CreateObject (dem entspricht das doch oder?) hergestellt werden sollte.

Muss ich mir mal genauer anschauen. Aus bisheriger Beobachtung (als Anwender des DVBViewer Plugins) würde ich sagen: solange DVBViewer über die Kommandozeile gestartet wurde, ist es unproblematisch, mit "win32com.client.EnsureDispatch" bzw. "win32com.client.Dispatch" auf das COM Api zu connecten. Ich habe aber auch schon bemerkt, dass wenn DVBViewer indirekt aus EG über das COM API gestartet wurde, dass er anschliessend nicht richtig funktioniert, z.B. geht der OSD Hintergrund bei mir verloren.

 

In der Prio noch weiter oben sehe ich jedoch den (u.a. auch von dir) schon beschriebenen Bug, dass nach einem provizierten Absturz des DVBViewers EG komplett hängt und der EG Prozess abgeschossen werden muss. Das werde ich mir als nächstes mal anschauen, vielleicht ist es eine Kleinigkeit, z.B. ein Deadlock im Thread Handling.

Share this post


Link to post
nuts

Ich habe aber auch schon bemerkt, dass wenn DVBViewer indirekt aus EG über das COM API gestartet wurde, dass er anschliessend nicht richtig funktioniert, z.B. geht der OSD Hintergrund bei mir verloren.

Genau das meinte ich.

Share this post


Link to post
galaxy7

Hallo Community,

 

nach einem Update auf DVBViewer 5.6.4.0 tritt das Problem mit EventGhost 0.4.1r1722 wieder auf.

 

>> Das Event "DVBViewer.Action:16382"

 

ergibt im DVBViewer-Plugin den Fehler:

 

>> DVBViewer: WindowMinimize (Plugin-Fehler)

 

Mit DVBViewer 5.3.1 und identischem EventGhost trat das Problem nicht auf. Hat jemand eine Idee / Lösung ?

 

mfg galaxy7

Share this post


Link to post
nuts

Idee / Lösung nicht aber ich konnte es reproduzieren und habe es an Griga weitergeleitet. :)

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...