Externe DLL einbinden
Verfasst: 27.09.2010 20:58
Ich benutze schon länger Power-Basic und möchte auch in Pure-Basic einsteigen.
Ich möchte ein funktionierendes Programm in PB konvertieren und habe Problem mit Aufruf der DLL
für die externen USB Device
Wie binde ich eine DLL einer Externen Komponente in Pure Basic ein???
Benutze von Code Mercenaries ein USB I/O-Controller IO-Warrior40
Ich will die Funktionen – Subs Deklarieren:
Unten die Declarationen in VB 6.0 und Power-Basic für Öffnen, Schließen, Schreiben und Lesen
Wie ist die Syntax in PB?? Ich benutze PB 4.51
---------------------------------------------------------------------------------------------------------
In VB 6.0 Device Öffnen
Public Declare Function IowKitOpenDevice Lib "iowkit" () As Long
In Power Basic
DECLARE FUNCTION IowKitOpenDevice LIB "iowkit.dll" ALIAS "IowKitOpenDevice"() AS LONG
---------------------------------------------------------------------------------------------------------
In VB 6.0 Device Schließen
Public Declare Sub IowKitCloseDevice Lib "iowkit" (ByVal iowHandle As Long)
In Power Basic
DECLARE SUB IowKitCloseDevice LIB "iowkit.dll" ALIAS "IowKitCloseDevice" (BYVAL iowHandle AS_ LONG)
---------------------------------------------------------------------------------------------------------
In VB 6.0 Schreiben in Device
Public Declare Function IowKitWrite Lib "iowkit" (ByVal iowHandle As Long, _
ByVal numPipe As Long, ByRef buffer As Byte, ByVal length As Long) As Long
In Power Basic
DECLARE FUNCTION IowKitWrite LIB "iowkit.dll" ALIAS "IowKitWrite" (BYVAL iowHandle AS LONG, _
BYVAL numPipe AS LONG, BYREF buffer AS BYTE, BYVAL length AS LONG) AS LONG
---------------------------------------------------------------------------------------------------------
In VB 6.0 Lesen aus Device
Public Declare Function IowKitRead Lib "iowkit" (ByVal iowHandle As Long, _
ByVal numPipe As Long, ByRef buffer As Byte, ByVal length As Long ) As Long
In Power Basic
DECLARE FUNCTION IowKitRead LIB "iowkit.dll" ALIAS "IowKitRead" (BYVAL iowHandle AS LONG, _
BYVAL numPipe AS LONG, BYREF buffer AS BYTE, BYVAL length AS LONG) AS LONG
Programierbeispiel in Power-Basic
DIM iowHandles(16) AS GLOBAL LONG ‘ Dimensionieren“ iow Handles“ mit 16 Elementen als Long
DIM Daten(8) AS GLOBAL BYTE ‘Dimensionieren „Daten“ mit 8 Elementen als Byte
GLOBAL Res AS LONG 'Dimensionieren “Res” Rückgabewert Funktion als Long
iowHandles(0) = IowKitOpenDevice() 'IO-Warrior öffnen + Schreiben
Daten(0) = 0 : Daten(1) =23 ‘Zahl 23 als Bitmuster Port 0 ausgeben
Res = IowKitWrite(iowHandles(0), 0, Daten(0), 5)'Nach IOW schreiben ‘ 5 Byte schreiben
Daten(0) = 0 : Daten(4) = 255 ‘Port 3 als Ausgang
Res = IowKitWrite(iowHandles(0), 0, Daten(0), 5)'Nach IOW schreiben ‘ 5 Byte schreiben
Res = IowKitRead(iowHandles(0),0, Daten(0), 5) 'Von IOW lesen‘ 5 Byte lesen
Ergebnis = Daten(4) ‘Bitmuster von Port 3
Vielen Dank in voraus.
Ich möchte ein funktionierendes Programm in PB konvertieren und habe Problem mit Aufruf der DLL
für die externen USB Device
Wie binde ich eine DLL einer Externen Komponente in Pure Basic ein???
Benutze von Code Mercenaries ein USB I/O-Controller IO-Warrior40
Ich will die Funktionen – Subs Deklarieren:
Unten die Declarationen in VB 6.0 und Power-Basic für Öffnen, Schließen, Schreiben und Lesen
Wie ist die Syntax in PB?? Ich benutze PB 4.51
---------------------------------------------------------------------------------------------------------
In VB 6.0 Device Öffnen
Public Declare Function IowKitOpenDevice Lib "iowkit" () As Long
In Power Basic
DECLARE FUNCTION IowKitOpenDevice LIB "iowkit.dll" ALIAS "IowKitOpenDevice"() AS LONG
---------------------------------------------------------------------------------------------------------
In VB 6.0 Device Schließen
Public Declare Sub IowKitCloseDevice Lib "iowkit" (ByVal iowHandle As Long)
In Power Basic
DECLARE SUB IowKitCloseDevice LIB "iowkit.dll" ALIAS "IowKitCloseDevice" (BYVAL iowHandle AS_ LONG)
---------------------------------------------------------------------------------------------------------
In VB 6.0 Schreiben in Device
Public Declare Function IowKitWrite Lib "iowkit" (ByVal iowHandle As Long, _
ByVal numPipe As Long, ByRef buffer As Byte, ByVal length As Long) As Long
In Power Basic
DECLARE FUNCTION IowKitWrite LIB "iowkit.dll" ALIAS "IowKitWrite" (BYVAL iowHandle AS LONG, _
BYVAL numPipe AS LONG, BYREF buffer AS BYTE, BYVAL length AS LONG) AS LONG
---------------------------------------------------------------------------------------------------------
In VB 6.0 Lesen aus Device
Public Declare Function IowKitRead Lib "iowkit" (ByVal iowHandle As Long, _
ByVal numPipe As Long, ByRef buffer As Byte, ByVal length As Long ) As Long
In Power Basic
DECLARE FUNCTION IowKitRead LIB "iowkit.dll" ALIAS "IowKitRead" (BYVAL iowHandle AS LONG, _
BYVAL numPipe AS LONG, BYREF buffer AS BYTE, BYVAL length AS LONG) AS LONG
Programierbeispiel in Power-Basic
DIM iowHandles(16) AS GLOBAL LONG ‘ Dimensionieren“ iow Handles“ mit 16 Elementen als Long
DIM Daten(8) AS GLOBAL BYTE ‘Dimensionieren „Daten“ mit 8 Elementen als Byte
GLOBAL Res AS LONG 'Dimensionieren “Res” Rückgabewert Funktion als Long
iowHandles(0) = IowKitOpenDevice() 'IO-Warrior öffnen + Schreiben
Daten(0) = 0 : Daten(1) =23 ‘Zahl 23 als Bitmuster Port 0 ausgeben
Res = IowKitWrite(iowHandles(0), 0, Daten(0), 5)'Nach IOW schreiben ‘ 5 Byte schreiben
Daten(0) = 0 : Daten(4) = 255 ‘Port 3 als Ausgang
Res = IowKitWrite(iowHandles(0), 0, Daten(0), 5)'Nach IOW schreiben ‘ 5 Byte schreiben
Res = IowKitRead(iowHandles(0),0, Daten(0), 5) 'Von IOW lesen‘ 5 Byte lesen
Ergebnis = Daten(4) ‘Bitmuster von Port 3
Vielen Dank in voraus.