Jump to content
Bingo99

C# COM mit VisualStudio wie?

Recommended Posts

Bingo99

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 :(

Share this post


Link to post
nuts

Läuft der DVBViewer auch während deiner Versuche?

Share this post


Link to post
Bingo99

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" ?

Share this post


Link to post
Bingo99

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

Share this post


Link to post
nuts

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.

Share this post


Link to post
Griga

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.

 

Share this post


Link to post
Bingo99

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.

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