Jump to content

C# COM mit VisualStudio wie?


Recommended Posts

Hallo

Ich habe die Referenz "DVBViewerServer" meiner Projektmappe hinzugefügt und mal getestet:

 

using System;
using System.Windows.Forms;
using DVBViewerServer;

namespace WindowsFormsApp5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            DVBViewer dvb = (DVBViewer)System.Runtime.InteropServices.Marshal.GetActiveObject("DVBViewerServer.DVBViewer");
            label1.Text = dvb.TimerManager.Count.ToString();
        }
    }
}

Ich bekomme den Fehler:

Ausnahme ausgelöst: "System.Runtime.InteropServices.COMException" in mscorlib.dll
Ein Ausnahmefehler des Typs "System.Runtime.InteropServices.COMException" ist in mscorlib.dll aufgetreten.
Vorgang nicht verfügbar. (Ausnahme von HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))

"WindowsFormsApp5.exe" (CLR v4.0.30319: WindowsFormsApp5.exe): "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\PrivateAssemblies\Runtime\Microsoft.VisualStudio.Debugger.Runtime.dll" geladen. Das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
Das Programm "[15108] WindowsFormsApp5.exe" wurde mit Code -1 (0xffffffff) beendet.

Wo liegt der Fehler?

Ich habe schon ein paar Stunden hier im Forum gesucht finde aber die Antwort nicht :(

Link to comment

Nein lief nicht. Danke

 

Wie kann ich denn ohne den DVBViewer zu starten, nur den Media Server abfragen wie viele Timer gesetzt sind und ob er gerade aufnimmt?

Geht das nur über xml "/api/timerlist.html?utf8=2" ?

Link to comment

Ist das ein Bug? Benutze DVBViewer Media Server 2.1.4.0

 

Es sind 2 Timer aktiv zeigt aber 0:

/api/status2.html

<status>
  <timercount>0</timercount>
  <reccount>0</reccount>
  ...
</status>

Wenn der Server eine sendung aufnimmt:

/api/status2.html

<status>
  <timercount>1</timercount>
  <reccount>1</reccount>
  ...
</status>

Muss ich wohl doch die Timer in timerlist.html selber zählen ;)

Link to comment

Beschreibung nochmal lesen, passt so alles. ;)

Status2 API zeigt nur laufende timer an. 

 

Edit/ naja ob du da nicht doch recht hast? Muss ich selbst nochmal recherchieren wie das genau gedacht ist.

Link to comment

Ich habe es überprüft. status2.html informiert hauptsächlich darüber, in welchem Ausmaß der Server zur Zeit aktiv ist. Die Angabe "Aktiv" im Wiki ist bei status2.html also zu verstehen als "wird zur Zeit ausgeführt".

 

timercount gibt die Anzahl der Timer an, die zur Zeit ausgeführt werden. Das umfasst neben Aufnahmetimern auch Timer für interne Aufgaben und externe Prozesse. reccount gibt dagegen nur die Anzahl der zur Zeit ausgeführten Aufnahmetimer (also laufenden Aufnahmen) an. timercount ist immer >= reccount.

 

Link to comment

Danke für die Info.

Ich würde mich über eine zukünfitge Anpassung freuen wenn man direkt die Anzahl Timer und laufenden Aufnahmen auslesen  könnte.
 

Ich lese für jetzt die timerlist.html wie bisher aus.

Link to comment

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...