Thema: Delphi String Zuordnung = AV

Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#4

Re: String Zuordnung = AV

  Alt 17. Okt 2007, 22:17
Zitat von peschai:
Dein Problem ist bei StringReplace(tmp... Du verwendest hier unnötigerweise PChars.
Ja und?

Zitat von peschai:
StringReplace erwartet hier eine String uind keinen PChar.
Und da wird dann automatisch konvertiert. Vor dem Aufruf legt Delphi einen temporären String an und übergibt ihn.

Zitat von peschai:
Desweiteren hast du ein Inc(tmp)!!! darin.
Damit überspringt er das Längenbyte und der PChar zeigt direkt auf das erste Zeichen. Das ist wohl auch genau so gewollt.

Zitat von peschai:
Damit zeigts du nicht mehr auf das Längebyte an Position 0 eines Shortstring sondern auf das erste Zeichen.
Ich denke auch nicht, dass er vorne im String ein komisches Zeichen haben will.

Zitat von peschai:
Du weist, daß ein PChar mit einer #0 beendet wird und derr Kommt wann ?
Vielleicht hatte er den ganzen Record vor der ersten Verwendung mit FillChar()/ZeroMemory() genullt? Bei normalen Strings (Sprich AnsiString) gibt es immer hinten ein #0. Ich weiss nun nicht, ob ein solches Verhalten auch bei ShortString?

Zitat von peschai:
Also versuchs bitte mal nur mit Strings.
Dem würde ich aber grundsätzlich zustimmen.
  Mit Zitat antworten Zitat