Registriert seit: 24. Sep 2022
Ort: Planet Erde
356 Beiträge
Delphi 11 Alexandria
|
EMB DCE 12 - GetMem, Char und Delphi default WideChar
9. Okt 2024, 16:17
wenn ich unter der Offline-Hilfe nach "StrCopy" suche, um einen PChar zu kopieren, dann finde ich im angegebenen Delphi Beispiel die Verwendung von GetMem in Verbindung mit sizeOf(Char).
Wir hatten das ja schonmal in der einen oder anderen Form (Free, Destroy).
Heute geht es dadrum, wie man Speicher richtig allokiert und ggf. wieder freigibt.
Da ich GetMem nur in Verbindung mit Dispose her kennen, zeigt das Beispiel jedoch FreeMem.
ist FreeMem der richtige Ansprechpartner oder könnte man dort auch einfach Free verwenden ?
Aber der Hauptaugenmerk ist dieses sizeOf(Char).
Wenn ich zum Beispiel Delphi verwende, dann kann ich zwar PChar verwenden, das ja default mäßig auf Byte mätscht unter Delphi jedoch dann einen PWideChar ergibt.
Daher die Frage: was sollte man am besten verwenden - das sizeof(Char) oder sizeof(WideChar) ?
Ich mein, letzendends ist es ja FreeMem egal, ob mit GetMem 4 Byte allokiert wurde - oder nur 2...
Ich finde das aber irgendwie verwirrend für Anfänger, die nicht Wissen, was denn dieses sizeof(Char) bedeuten mag, wenn sie dann damit konfrontiert werden, das Delphi default WideChar macht...
Frag doch einfach Alles was nicht programmiert werden kann, wird gelötet
|