Tjenare Hej Igen Nu blev jag nyfiken.... HejRensa en sträng
Jag har ett litet problem som jag hoppas någon kan hjälpa mig med. Jag anropar en dll-funktion som tar en sträng och skriver i den . Jag måste deffinera hur lång strängen skall vara. Mitt problem är att när jag får tillbaka strängen så innehåller den värdet+en massa skräp (vbNullChar tror jag att det är ser ut som fyrkanter i debuggen) Hur får jag bort dessa smidigast??
Mvh
HulkenSv: Rensa en sträng
Så här brukar jag lösa det ,ersätt inpStr med din variabel
If InStr(inpStr, Chr$(0)) Then _
inpStr = Left$(inpStr, InStr(inpStr, Chr$(0)) - 1)
mvh
SvenSv: Rensa en sträng
Nu blev jag nyfiken. Hur får du din DLL att returnera en sträng
som Vb accepterar. Har en fråga under Delphi som handlar om
detta ,hur skrev du i exporten från din dll.
Hur har du deklarerat retur värdet i VB Functionen ?
Mitt inlägg i Delphi :
"Hello Folks
En fråga som är lika gammal som Delphi och VB.
Hur får jag en Delphi DLL Funktion att returnera en sträng
som Visual Basic begriper. StdCall SafeCall AnsiString osv. ?
Delphi DLL :er är guld som komplemment till VB , men
just denna problematik har jag aldrig lyckas lösa."
undrar
SvenSv: Rensa en sträng
Tyvärr kan jag nog inte hjälpa dig för fuktionen jag använder tar en string ByRef som inparameter. Sedan skriver dllen i strängen men den retunerar ingen sträng. Eftersom den tar den ByRef så står värdet i strängen när funktionen är klar. Funktionen i dllen är konstruerad så just för att jag inte kunde retunera en sträng =)
Mvh
HSv: Rensa en sträng
Om du har skrivit dll'en som modifierar den strängen som du skickar in som referensvariabel, varför trimmar du då inte strängen i dll'en? Om du kan göra det så slipper du ju isf problemet med att få strängen utfylld med chr$(0).
mvh /ThomasSv: Rensa en sträng
Njaaaaaaaa han måste förmodligen lägga upp en stringbuffer
med Chr$(0) som skall ta emot returned lpstring. dvs han
pekar mot en minnesarea där stringen finns, nullterminated.
Tex GetPrivateProfile API :et funkar så. mfl mfl.
tror
Sven