Jump to content

COM Interface: Action 16382 (Minimize)


mrphlox

Recommended Posts

Posted

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

Posted

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); 

Posted

Ah, Mr. Phlox spricht ja auch Deutsch xD

 

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

Posted

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

Posted (edited)

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
Posted

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:

Posted

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:

Posted

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"

  • 3 weeks later...
Posted

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.

Posted

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.

  • 4 years later...
Posted

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

Posted

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

Join the conversation

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

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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...