DAS usb dll plugin

We proudly present: The release of DMXControl 3.3.3!


On September 29, 2026, we held our release show for DMXControl 3.3.3. During our usual “hour-long” session, we showed you all the new features in this version and what it now has to offer.
Read all about it in the corresponding news article: We proudly present: The release of DMXControl 3.3.3!


  • Hallo,

    ich versuche ein Ausgabe-Plugin für die DAS-Light dll zu schreiben. Leider ist es mir mir bis jetzt noch nicht gelungen, die DMXC Ausgabebeispiele in VB 2008 Express oder VC 7.1 (2003) erfolgreich zu erstellen. Kann mir eventuell jemand ein Beispielprojekt für ein Ausgabe-Plugin in einer dieser beiden Versonen zukommen lassen?

    Als Alternative würde ich mich auch freuen, wenn jemand das Plugin erstellen würde.
    Dazu müßten folgende globale Konstanten und Variablen definiert werden:

    ' DAS constants & globals
    Public Const DMXCHANNELS As Short = 512

    Public Const DHC_INIT As Short = 9 ' COMMAND
    Public Const DHC_EXIT As Short = 10 ' COMMAND

    Public Const DHC_OPEN As Short = 1 ' COMMAND
    Public Const DHC_CLOSE As Short = 2 ' COMMAND

    Public Const DHC_DMXOUTOFF As Short = 3 ' COMMAND
    Public Const DHC_DMXOUT As Short = 4 ' COMMAND

    Public dmxdata(512) As Byte
    Public hardware_ok As Short

    Public result As Short

    Public Declare Function DasUsbCommand Lib "DasHard2006VB.dll" (ByVal new_command As Integer, ByVal param As Integer, ByRef dmxdata As Byte) As Short

    In der Enable Methode wäre folgender Code einzufügen:

    ' DAS interface init
    Dim i As Object
    For i = 1 To DMXCHANNELS
    dmxdata(i) = 0
    Next i
    hardware_ok = DasUsbCommand(DHC_INIT, 0, 0)
    hardware_ok = DasUsbCommand(DHC_OPEN, 0, 0)
    If hardware_ok > 0 Then
    MsgBox("Interface: found")
    ' Im Interface alle Werte auf 0 setzen
    result = DasUsbCommand(DHC_DMXOUTOFF, 0, dmxdata(1))
    Else
    MsgBox("Interface: not found")
    End If


    In der Disable Methode:

    'DAS interface close
    If hardware_ok > 0 Then
    result = DasUsbCommand(DHC_CLOSE, 0, 0)
    result = DasUsbCommand(DHC_EXIT, 0, 0)
    End If

    In der Methode IDMXCPlugin_MessageHandle:

    Select Case Msg
    Case MSG_Channel_Send
    If Arg1 >= 1 And Arg1 <= DMXCHANNELS Then
    ' DMX-Wert im Array aktualisieren
    ' Arg1 ist channel, Arg2 ist Wert
    dmxdata(Arg1) = Arg2
    End If
    End Select

    Die Ausgabe zum Interface sollte in einem Timer mit ca. 50 ms erfolgen:

    If hardware_ok > 0 Then
    result = DasUsbCommand(DHC_DMXOUT, DMXCHANNELS, dmxdata)
    End If

    Sollte noch etwas unklar sein, bitte mich fragen.

    Edited once, last by OliC (August 12, 2009 at 4:35 PM).

  • Hallo zusammen,

    da noch keine Reaktion auf diesen Post kam, möchte ich noch ein paar Möglichkeiten ausführen, die mir weiterhelfen könnten.

    Hat jemand eventuell ein VC Beispielprojekt für eine andere als die von mir angeführte 7.1 Version?

    Hat jemand einen Tipp, wo ich eine VB6 Version bekommen kann?

    Gibt es einen Artikel, der die Konvertierung von VB6 Projekten in VB 2008 beschreibt (leider Fehlt mir die Zeit mir das in einzelnen Haeppchen aus der VB Hilfe zusammen zu suchen)?

    Hat jemand bis jetzt DMXC mit einem DAS-usb-IF zum laufen bekommen? Wenn ja, wie? Ich kann zwar das Sunlight Plugin aktivieren und konfigurieren (ohne Fehlermeldung) aber es geht nichts an das IF raus. IF funktioniert mit der DAS-Software.

    Hat ausser mir noch jemand Interesse an einem DAS-IF Plugin?

  • Hi,

    schau mal ob das geht.

    Du musst auch die DasHard2006VB.dll aus dem devkit von Daslight ins DMXControl Programmverzeichnis kopieren.

    Dennis

    ps. vb6 gibts ab und zu bei ebay.

    edit: Anhang entfernt

    Edited once, last by fisl (August 17, 2009 at 9:33 PM).

  • Hi Dennis, vielen Dank für die Kompilierung. Das IF wird angesprochen. Leider stürzt aber DMXC nach einigen Sekunden mit einer 'unbehandelte Win32 Ausnahme' ab. Es scheint noch irgend ein Pointer ins Nirwana zu zeigen.

    Ich glaube das Problem liegt in der Init Methode. Die Zeile
    result = DasUsbCommand(DHC_DMXOUTOFF, channels, dmxdata(1))
    muß
    result = DasUsbCommand(DHC_DMXOUTOFF, channels, dmxdata) lauten.

    Ich bin nicht so firm in VB, aber der Aufruf muß die Adresse (byRef) des Arrays übergeben, nicht den Wert (byVal).

    Edited once, last by OliC (August 16, 2009 at 12:49 AM).

  • Was ist das eigentlich genau für ein Interface?

    Da es scheinbar IF gibt, die von der alten DasHard.dll nicht angesprochen werden können, würde ich mich dazu bereiterklären das Plugin zu erweitern mit dmx in bzw. 2tem out etc. Das müsstest du dann allerdings testen.

  • Ich habe nur ein einfaches DVC 128, nur 128 Kanäle, kein DMX in. Kann es also nicht testen.
    Trotzdem nochmal vielen Dank für dein Hilfe :D

    Eventuell meldet sich ja hier jemand, der ein größeres DAS-Interface hat und es testen kann.

  • Habe viele verschiedene Kombinationen durchprobiert. Bei mir funktioniert nur die in der ZIP Datei, viel Spaß damit, hoffentlich habe ich manchen den Nervenzusammenbruch vorm PC erspart ;)

    Link zur ZIP Datei: http://tinyurl.com/lb4nzmv

    Ich selbst verwende ein Interface von Daslight mit 512 Ein- und Ausgängen, das nun mit DMXControl an seiner Seite wunderbare Dienste tut.


    Lukas

  • Newly created posts will remain inaccessible for others until approved by a moderator. The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.