Ansonsten probier doch mal:
Code: Alles auswählen
*dmx_array = AllocateMemory(512)
PokeB(*dmx_array + 1, 255)
PokeB(*dmx_array + 2, 100)
PokeB(*dmx_array + 3, 255)
OksidCommand(4, 512, *dmx_array)
Code: Alles auswählen
*dmx_array = AllocateMemory(512)
PokeB(*dmx_array + 1, 255)
PokeB(*dmx_array + 2, 100)
PokeB(*dmx_array + 3, 255)
OksidCommand(4, 512, *dmx_array)
Code: Alles auswählen
Prototype OksidCommand(a, b, c)
Global OksidCommand.OksidCommand
Procedure.i LoadDLL()
Protected hDLL.i
hDLL = OpenLibrary(#PB_Any, "d:\dmx\usb2dmx.dll")
If hDLL <> 0
OksidCommand = GetFunction(hDLL, "OksidCommand")
ProcedureReturn hDLL
EndIf
ProcedureReturn #False
EndProcedure
;- Einstellung für RGB LED mit DMX512 LED Decoder
*dmx_array = AllocateMemory(512)
PokeB(*dmx_array + 0, 255) ; <= Rot
PokeB(*dmx_array + 1, 100) ; <= Grün
PokeB(*dmx_array + 2, 255) ; <= Blau
OksidCommand(4, 512, *dmx_array)
Then hat geschrieben:Habe nun eine Antwort bekommen! Wer kann's in PB übersetzen??
Code: Alles auswählen
[...] Public Buffer(512) As Byte OksidCommand(4, 512, Buffer(0))
Code: Alles auswählen
;Public Buffer(512) As Byte
;OksidCommand(4, 512, Buffer(0))
Dim Buffer.b(512)
OksidCommand(4, 512, @Buffer(0))
Oha, darauf hab ich gar nicht geachet. Das hätte wohl nen Fehler produziert mit dem Byte-Array. Aber nachdem ja jetzt anscheinend gar kein Array gebraucht wird und man direkt in den Speicher Poket, ist es wohl wurscht.NicTheQuick hat geschrieben:Man könnte statt Byte auch Ascii nehmen, dann entsteht eventuell weniger Verwirrung durch vorzeichenbehaftete Werte.