Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#11

AW: BoolToStr wirft Access Violation

  Alt 26. Jun 2012, 16:19
Move mit Strings in Records gehen nicht.
Genauer bei "Long-Strings" und WideString.
ShortString und statische Char-Arrays gehn.

Genauso wie es bei Interfaces, Variants und dynamischen Arrays auch nicht geht, bzw. nicht ohne Beachteung gewisser Dinge, bei deren automatischen Speicherwerwaltung.


In der Unit System gibt es eine Abteilung "Compiler helper for initializing/finalizing variable" mit netten Funktionen.
New
Dispose
Initialize
InitializeArray
InitializeRecord
Finalize
FinalizeArray
FinalizeRecord
CopyArray
CopyRecord

Welche Delphi intern verwendet und die man notfalls selber verwenden könnte, aber dennoch sollte man ein bissl Ahnung davon haben, wie z.B. die Speicherverwaldung und Referenzzählung arbeiten.

Ansonsten: Finger weg, von direkten Speichermanipulationen. (Pointer, Move und Co.)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat