Einzelnen Beitrag anzeigen

samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#10

AW: Code mit AnsiString lief unter 10.0 Seattle, crasht unter 10.4 Sydney

  Alt 12. Jun 2020, 07:55
Es muss ja irgend etwas mit der Referenzzählung des Strings sein, denn durch Einführen einer zusätzlichen Variable funktioniert es ja wieder.
Deshalb ja meine Frage in #7.

Bei dem Aufruf MapAndLoad(PAnsiChar(asAnsi)... wird implizit _LStrToPChar aufgerufen. Wenn Du über die zusätzlichen Variable mit asPAnsiChar := Addr(asAnsi[1]); gehst, dann wird _LStrToPChar nicht benutzt.

Ich vermute, wenn Du statt

asPAnsiChar := Addr(asAnsi[1]); wieder

asPAnsiChar := PAnsiChar(asAnsi); benutzen würdest, kracht es wieder. Denn dann wird wieder _LStrToPChar aufgerufen. Das würde dann zeigen, dass es nicht an der zusätzlichen Variablen liegt, sondern am Aufruf von _LStrToPChar.

Geändert von samso (12. Jun 2020 um 09:19 Uhr)
  Mit Zitat antworten Zitat