Hallo himitsu,
das ist ja eine sehr kurze Methode um die Länge von einem AnsiString zu ermitteln. Habe den Record zwar auch beim Analysieren von der System –
Unit gesehen, aber nicht getraut zu Verwenden (wegen Seiteneffekte).
Nur so wie Du den Code – Schnipsel geschrieben hast wird immer die Länge des Strings mit Null angezeigt.
XOR EAX, EAX // ergibt immer 0
Habe es etwas modifiziert:
Delphi-Quellcode:
function ASM_StrLaengeKurz(s:
String): integer;
ASM
MOV EDX, EAX
JZ @@EmptyString
// S = ''
MOV EAX, [EDX - 4]
@@EmptyString:
END;
Danke für Deinen Hinweis.
Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.