ts-soft hat geschrieben:Das entspricht dann aber einem String in PB.
Das kann ich auch bestätigen.
Ich kannte nicht den genauen Aufbau eines BP Strings daher habe ich es kurz getestet.
Code: Alles auswählen
#DLLID = 1
Result.l = OpenLibrary(#DLLID,"test01.dll")
If Result=0
MessageRequester("ERROR:","can't load 'test01.dll",#PB_MessageRequester_Ok+64)
End
EndIf
*pFunc = IsFunction(#DLLID, "GETBYTEFROMSTRING@8")
If *pFunc=0
MessageRequester("ERROR:","can't find 'GETBYTEFROMSTRING@8'",#PB_MessageRequester_Ok+64)
EndIf
OpenConsole()
test.s ="abcd"
Result = CallFunctionFast(*pFunc,test,0):PrintN(Str(Result))
Result = CallFunctionFast(*pFunc,test,1):PrintN(Str(Result))
Result = CallFunctionFast(*pFunc,test,2):PrintN(Str(Result))
Result = CallFunctionFast(*pFunc,test,3):PrintN(Str(Result))
Result = CallFunctionFast(*pFunc,test,4):PrintN(Str(Result))
Input()
CloseConsole()
CloseLibrary(#DLLID)
Byte 0-3 enthält die Zeichen und Byte 4 den 0 Terminator.
Ja Galahat jetzt bist Du an der Reihe.
Stell Dich nicht an und sage Uns doch einfach was Du falsch machst
Poste doch mal Deinen "bugy" Code und stelle sicher das Du auch die richtige DLL verwendest also die auch für VB vorgesehen ist.
Up's 04:35 wie schnell doch die Zeit am Rechner vergeht.
Gute Nacht / guten Morgen.
Grüsse Joshy