Antwort von
nach 17 Stunden
hilfreich
Re^3: [VB5] Typen gepackt wie in Delphi
Hallo Reinhard,
das Problem ist, dass die DLL einen
relativ aufwendigen Struct/record/Type
zurueckgibt etwa folgendes:
Type
B As Byte
L As Long
udf As Userdefined
I As Integer
L2 As Long
udf2 As Userdefined
.
.
.
End Type
die DLL uebergibt dabei den Typ als
packed, VB richtet aber normalerweise die
einzelnen Werte aus
Geschwindigkeitsgruenden an Byte-Grenzen
aus.
Du meinst sicher: an Wort-Grenzen...
Bist du sicher, dass die Komponenten im Record gepackt sind?
Normalerweise verwendet man doch bei der Parameterübergabe keine gepackte Strukturen - um gerade diese Probleme zu vermeiden. Woher stammt denn die DLL - kannst du die Art der Übergabe nicht beeinflussen bzw. ändern?
Wenn ich ein Byte-Array oder einen String
bei der Uebergabe verwende, muss ich
muehsam die einzelnen Teile
herausoperieren. Das wollte ich
eigentlich vermeiden!
Wenn das Record wirklich derart gepackt ist, wird dir wohl nichts anderes übrig bleiben, fürchte ich.
Reinhard