birder Posted August 21, 2007 Share Posted August 21, 2007 Hallo, ich verwende folgende Funktionien, um den DVBViewer zu initialisieren und zu beenden. In der DVBViewer Version 3.6 hat es wundbar funktioniert. In der neuen Version 3.8 wird der DVBViewer zwar beendet, der "DVBViewer" Prozeß ist aber immer noch aktiv und man hört noch den Ton des letzten Senders. Gibt es Neuerungen in der neuen Version 3.8? Muss ich das Object anders releasen? private static void InitDvbViewer() { try { DVBViewer = (DVBViewer)Marshal.GetActiveObject("DVBViewerServer.DVBViewer"); gotObject = true; } catch { DVBViewer = new DVBViewerClass(); gotObject = false; } } private static void ReleaseDVBViewer() { if (gotObject) { Marshal.ReleaseComObject(DVBViewer); } } Quote Link to comment
JMS Posted August 21, 2007 Share Posted August 21, 2007 (edited) Warum machst Du das Release nur, wenn das GetActiveObject funktioniert - ein COM Objekt erzeugst Du doch in jedem Fall, oder? Welche Variante tritt denn auf? Kann es vielleicht ein sekundäres COM Objekt sein, dass Du hälst (DVBViewer.######)? Hast Du mal FinalReleaseComObject probiert - oder anders: welchen Wert liefert ReleaseComObject denn zurück? Jochen <PS>Hihi, sorry für das ###### - waren mal drei Xe, die sind wohl nicht jugendfrei!</PS> Edited August 21, 2007 by JMS Quote Link to comment
birder Posted August 21, 2007 Author Share Posted August 21, 2007 Ja genau daran lag es. Der release wurde nie gemacht, weil die if bedingung nie erfüllt war. Danke und Gruß 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.