(Moderator)
Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
Delphi 2006 Professional
|
Re: PChar nach String schneidet Zeichen ab
27. Feb 2006, 15:33
Also direktzuweisungen würde ich nie nehmen weil ich dann angst hätte das da irgendwas nicht klappt (wenn zum Beispiel der Ziel-PChar zu weniger speicher reserviert hat).
Wenn ich mit PChars arbeite mach ich dann doch meist alles Hand zu Fuß und verwende Move.
Wenn es innerhalb des Programmes vorkommen kann das im PChar ein #0 vorkommt verwende ich dann einen Record. In dem ist dann ein Word der die Größe angibt und dann der dazugehörige PChar.
Die Zuweisungen funktionieren dann über funktionen welche mit Move die Daten auf den anderen PChar kopieren und gegebenfalls den PChar freigeben, neu allocieren (mit genügend speicher) und dann darauf das gewünschte zuweisen.
Es wird also ungefähr das gemacht was Delphi bei Strings durch Compilermagic löst.
wie ist das überhaupt bei StrPas. Wird da für den PChar neu Speicher angefordert oder per Compilermagic der vorhanden PChar geändert.
letztendlich benute ich PChar als wären es normale Pointer, Also Speicher manuell anfordern und auch wieder freigeben. Und Direktzuweisungen auch nur wenn ich dem PChar den gleichen Speicher zuweisen will auf den bereits der andere zeigt.
Jens Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
|