IowKitRead mit VB6

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
amansoor
Posts: 2
Joined: Sun Jul 23, 2006 5:34 pm

IowKitRead mit VB6

Post by amansoor »

Hallo,

ich habe folgendes Problem: Und Zwar habe ich ein IO-Warrior 24-Interface mit 10 angeschlossenen Tastern (8 an Port0 und 2 an Port1).
Leider sind in der SDK keine Code-Beispiele, wie man die Ports in einem Timer unter VB6 abfragt. Alle anderen Funktionen kann ich nutzen, nur das Einlesen einer gedrückten Taste funktioniert nicht. Die Hardware funktioniert auch einwandfrei (mit dem HIDComplete-Programm getestet)
testen.

Vielleicht könnte mir einer ein paar Beispiel-Codezeilen oder Programmbeispiel mailen, in denen die Funktionen IowKitRead und IowKitReadImmediate genutzt werden. Das Forum habe ich sschon vergeblich durchsucht.

Vielen Dank!
Thommy2312
Posts: 1
Joined: Wed Nov 17, 2004 5:33 pm

Post by Thommy2312 »

Hallo,

z.B. ein Auszug aus meinem Code:



Private Sub Timer_IOw40_1_read_Timer()
Dim i
Dim sResult As Long
sResult = IowKitReadImmediate4Byte(IOWarrior_Handles(1), IOW40_1_Data(0))


label_iow40_1.Caption = IOW40_1_Data(0) & " " & IOW40_1_Data(1) & " " & IOW40_1_Data(2) & " " & IOW40_1_Data(3)


............



Public IOW40_1_Data(5) As Byte

Public Declare Function IowKitReadImmediate4Byte _
Lib "iowkit" Alias "IowKitReadImmediate" _
(ByVal iowHandle As Long, _
ByRef Buffer As Byte) _
As Long



Damit du was abfragen kannst mußt du davor die Ports auf 1 setzten. Im Timer kannst du IowKitRead nicht verwenden, weil da immer auf die nächste Änderung gewartet wird. Wenn du mit IowKitRead arbeiten willst/mußt dann brauchst du threads, ist aber im VB6 nicht einfach.

lg

Tom
amansoor
Posts: 2
Joined: Sun Jul 23, 2006 5:34 pm

Post by amansoor »

Hallo,

Vielen dank für die schnelle Antwort. Es klappt auch Super, bis auf die letzten beiden Tasten. Entweder hab ich es immer noch nicht kapiert, oder irgendwo hat sich ein Fehler eingeschlichen.

Ich habe ja insgesamt 10 Tasten angeschlossen (1-8 an Port0 und 9-10 an Port1), die auch alle einwandfrei angeschlossen sind und mit einen anderen Testprogramm funktionieren.Wie kann ich denn die beiden Tasten, die an Port1 angeschlossen sind auch noch abfragen?

Vielen Dank!

Hier ist jetzt mein Quell-Text:

Dim iow_handle As Long
Dim data(5) As Byte

Private Sub timer_write_read_Timer()
Dim nWritten As Long
Dim sResult As Long

data(0) = &O0
data(1) = &HFF
data(2) = &HFF
data(3) = &HFF
data(4) = &HFF
nWritten = IowKitWrite(iow_handle, 0, data(0), 3)
If nWritten <> 3 Then
MsgBox "Fehler beim Schreiben!", 0, "Fehler"
Exit Sub
Else
'sResult = IowKitReadImmediate4Byte(iow_handle, data(0))
Me.txtbox(0).text = sResult
Me.txtbox(1).text = data(0)
End If
End Sub
Post Reply