Probleme mit ReadManyBytes und libnodave in einem alten VB6 Programm...

Jochen Kühner

Level-3
Beiträge
4.598
Reaktionspunkte
817
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab in letzter zeit an einer alten software was ändern müssen. Dort ist ein VB6 Programm mit LibNoDave im einsatz. Jetzt mussten dort zahlreiche neue Datenbausteine eingelesenen werden.

Nun habe Ich aber das Problem, das libnodave bei readManyBytes des öfteren mit dem Fehlercode -1025 abbricht (Was timeout bedeutet).

Hat jemand ne Idee woran's liegen kann? Der Timeout wird mit settimeout hochgesetzt (auf über 5s).
Verbindung ist TCP/IP auf eine PN/CPU.

Oder muss Ich doch Wireshark beim Kunden installieren?

Wenn ich so in den Source von libnodave schaue, kann der Fehler ja nur kommen, wenn gar nichts über TCP/IP zurück kommt, oder?

PS: Nutze dort die orginale libnodave (neuste Version), nicht meine gepatchte. Wobei Ichs mit der auch schon probiert habe, da Ich glaub der Wert von settimeout bei TCP/IP in der orginalen nicht berücksichtigt wird. Auf jeden Fall gehts mit der auch nicht!
 
Zuletzt bearbeitet:
Hallo Jochen,

ich habe hier mal einen VBA-Excel-Code, der z.B. 100 oder 1000 Integerwerte aus dem DB1 liest:

Private Sub btnWerteLesen_Click()
If livebit = True Then
res = daveReadManyBytes(dc, daveDB, 1, 0, txtWerte.Text * 2, buffer(0))
End If
End Sub


Hier ist dann noch die Deklaration von ReadManyBytes aus dem Modul:
Private Declare Function daveReadManyBytes Lib "libnodave.dll" (ByVal dc As Long, ByVal area As Long, ByVal areaNumber As Long, ByVal start As Long, ByVal numBytes As Long, ByRef buffer As Byte) As Long


Der obige Code war zwar in Excel direkt eingebettet. Aber meines Wissens besteht diesbezüglich zwischen VB6.0 und Excel kein Unterschied.


Gruß
Earny
 
Zurück
Oben