256 Byte ???

  • VB6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Artentus.

    256 Byte ???

    Hallo,

    habe folgendes Problem. Über USB ist eine Relaiskarte angeschlossen. Diese Karte wird über DevNumber 256 (vom Hersteller vorgegeben) angesprochen. Hier der Code der vom Hersteller mitgeliefert wurde:

    Visual Basic-Quellcode

    1. Declare Function OpenDevice Lib "USB8IO.dll" (ByVal DevNumber As Byte, _
    2. ByVal DriverName As String, _
    3. ByVal ID As String, _
    4. ByVal KeyWord As String) As Long
    5. Declare Sub SetDeviceEnabled Lib "USB8IO.dll" (ByVal DevNumber As Byte, ByVal MC_Mode As Byte)
    6. Declare Sub CloseDevice Lib "USB8IO.dll" (ByVal DevNumber As Byte)
    7. Declare Sub CloseAllDevices Lib "USB8IO.dll" ()
    8. Declare Function IsEnabled Lib "USB8IO.dll" (ByVal DevNumber As Byte, MC_Mode As Byte) As Boolean
    9. Declare Function IsOpened Lib "USB8IO.dll" (ByVal DevNumber As Byte) As Boolean
    10. Declare Function GetDeviceError Lib "USB8IO.dll" (ByVal DevNumber As Byte) As Long
    11. Declare Sub GetDeviceDescriptor Lib "USB8IO.dll" (ByVal DevNumber As Byte, usbDD As TUSB_DEVICE_DESCRIPTOR)
    12. Declare Sub SetBootEEP Lib "USB8IO.dll" (ByVal DevNumber As Byte, ByVal EPPType As Byte, ByVal Addr As Byte, ByVal DeviceID As Long)
    13. ' Setzen der Clockverzögerung
    14. Declare Sub SetClockDelay Lib "USB8IO.dll" (ByVal DevNumber As Byte, ByVal Delay As Byte)
    15. ' Parallelport
    16. Declare Function PB_ReadByte Lib "USB8IO.dll" (ByVal DevNumber As Byte, ByVal Addr As Byte) As Byte


    Wenn ich nun versuche die Karte anzusprechen bekomme ich Laufzeitfehler 6.

    Kann man VB 6 dazu bringen, diese 256 zu verarbeiten?
    Hallo,

    ja das ist ja eben dass, was mit wundert. Wenn ich mir die Deklaration in Delphi anschaue, steht aber das gleiche drin.

    // allgemeine Proceduren
    function OpenDevice(DevNumber : Byte; DriverName, ID, KeyWord : String): Word; stdcall; external 'USB8IO.DLL';

    Es liegt auch ein Testprogramm bei. Ist wohl auch in Delphi geschrieben und funktioniert.
    Diese Karte wird über DevNumber 256 (vom Hersteller vorgegeben) angesprochen.

    Das 256. Byte hat den Index 255, weils ja bei 0 anfängt ;)
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Ist wie mit der Uhrzeit, es giebt da eigentlich auch kein 24 Uhr, die Uhren fangen immer bei 00 Uhr an.

    Also Probiere Stadt der 256 einfach eine 255 rein zu schreiben, desweiteren können diese Relay karten (die Teilweise Analoge Inputs haben, war zumindest bei meinen Interface Board so) auch nur bis 255 hochschalten.

    LG, Herbrich