uDMX.dll steuern

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
Benutzeravatar
Then
Beiträge: 247
Registriert: 06.09.2004 13:26
Wohnort: Siegen

uDMX.dll steuern

Beitrag von Then »

Hi, habe leider meinen alten DMX Controller gehimmelt und mir nun einen neuen zugelegt, jetzt muss ich meinen Code anpassen, aber ich habe in den letzten 4 Tagen NIX hingekriegt :(

Kann mir irgendwer helfen ??

Diesen Code habe ich von VB :

Code: Alles auswählen

VERSION 5.00
Begin VB.Form frmuDMX 
   Caption         =   "uDMX.dll - Test"
   ClientHeight    =   3585
   ClientLeft      =   60
   ClientTop       =   390
   ClientWidth     =   4005
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   3585
   ScaleWidth      =   4005
   StartUpPosition =   1  'CenterOwner
   Begin VB.CheckBox chkChans 
      Caption         =   "ChannelsSet"
      Height          =   255
      Left            =   2760
      TabIndex        =   7
      Top             =   1560
      Width           =   1215
   End
   Begin VB.CommandButton cmdInfo 
      Caption         =   "Info"
      Height          =   495
      Left            =   2880
      TabIndex        =   6
      Top             =   2880
      Width           =   855
   End
   Begin VB.CommandButton cmdSetup 
      Caption         =   "Setup"
      Height          =   495
      Left            =   2880
      TabIndex        =   5
      Top             =   2040
      Width           =   855
   End
   Begin VB.VScrollBar vsrcCH1 
      Height          =   3015
      Index           =   4
      Left            =   2160
      Max             =   255
      TabIndex        =   4
      Top             =   360
      Value           =   255
      Width           =   375
   End
   Begin VB.VScrollBar vsrcCH1 
      Height          =   3015
      Index           =   3
      Left            =   1680
      Max             =   255
      TabIndex        =   3
      Top             =   360
      Value           =   255
      Width           =   375
   End
   Begin VB.VScrollBar vsrcCH1 
      Height          =   3015
      Index           =   2
      Left            =   1200
      Max             =   255
      TabIndex        =   2
      Top             =   360
      Value           =   255
      Width           =   375
   End
   Begin VB.VScrollBar vsrcCH1 
      Height          =   3015
      Index           =   1
      Left            =   720
      Max             =   255
      TabIndex        =   1
      Top             =   360
      Value           =   255
      Width           =   375
   End
   Begin VB.VScrollBar vsrcCH1 
      Height          =   3015
      Index           =   0
      Left            =   240
      Max             =   255
      TabIndex        =   0
      Top             =   360
      Value           =   255
      Width           =   375
   End
End
Attribute VB_Name = "frmuDMX"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
' Visual Basic Sample for use of uDMX.dll
' by ilLUTZminator - Copyright 2010
'
' DMX static array
Dim DMXArray(512) As Byte

' Declare Functions for configurations and data transfer
Private Declare Function Configure Lib "uDMX.dll" () As Integer
Private Declare Function ChannelSet Lib "uDMX.dll" _
  (ByVal Channel As Long, _
   ByVal Data As Long) As Boolean
Private Declare Function ChannelsSet Lib "uDMX.dll" _
  (ByVal ChanCnt As Long, _
   ByVal ChanFirst As Long, _
   ByRef FirstChan As Byte) As Boolean

' Call setup. Important to change timing parameters
Private Sub cmdSetup_Click()
    Dim bResult As Boolean
    
    bResult = Configure()
End Sub

Private Sub Form_Load()
    ChDir App.Path

    ' Init DMX-Values
    For i = 0 To 511
        DMXArray(i) = 0
    Next

End Sub

Private Sub vsrcCH1_Change(Index As Integer)
  Dim bResult As Boolean
  Dim ptr As Byte
  
  ' get values of the 5 faders
  For i = 0 To 4
    DMXArray(i) = 255 - vsrcCH1(i).Value
    
    If (chkChans.Value = 0) Then
      ' Transfer each channel on its own
      ' slow if all channels changed
      ' faster if only a few channels changed
      bResult = ChannelSet(i + 1, DMXArray(i))
    End If
  Next
  
  ' send values to uDMX
  If (chkChans.Value = 1) Then
    ' send all channels in one time
    ' faster if all channels changed
    bResult = ChannelsSet(512, 1, DMXArray(0))
  End If
End Sub
und hier bin ich am ende.... :cry:
Zuletzt geändert von Then am 13.10.2021 14:39, insgesamt 1-mal geändert.
PB 5.62 / Windows 11 64Bit (i5/32GB/240GB-SSD+3TB-HDD/1050GTX4GB) / 27" Multitouch Monitor

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
Then
Beiträge: 247
Registriert: 06.09.2004 13:26
Wohnort: Siegen

Re: uDMX.dll steuern

Beitrag von Then »

Habe diesen Code damals bei meinem anderen Controller verwendet. Aber wie baue ich nun die neue DLL ein ??

Code: Alles auswählen

Prototype oksidCommand(a, b, c)
Global *dmx_array = AllocateMemory(512)
Global OksidCommand.OksidCommand
hDLL = OpenLibrary(#PB_Any, "D:\usb2dmx.dll")
OksidCommand = GetFunction(hDLL, "OksidCommand")
PokeB(*dmx_array+1,240)
oksidCommand(4, 512, *dmx_array)
PB 5.62 / Windows 11 64Bit (i5/32GB/240GB-SSD+3TB-HDD/1050GTX4GB) / 27" Multitouch Monitor

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: uDMX.dll steuern

Beitrag von Mijikai »

Die DLL ist 32bit also sollte es mit PB x86 gehn?
Antworten