Und das, was du machst und ich gemacht habe, ist quasi eine Vergewaltigung
Wobei Codegear dafür Objekte nutzte (Borland mußte Objekte verwenden),
aber Embarcadero setzt jetzt auch teilweise die Record-Variante ein.
Nja der Hauptgrund für
Objekte Records ist die automatische Speicherverwaltung.
Records werden automatisch initialisiert, kopiert und finalisiert. (jedenfalls bei entsprechenden enthaltenen Typen, bei welchen sowas gemacht wird, wie DynArrays, Strings und Interfaces)
Records besitzen selber keine Referenzzählung, also wenn man sie kopiert, dann entsteht vom Record wirklich eine Kopie.
Operatoren sind schonmal eine sehr praktische Angelegenheit. (schade daß emba vergessen hat, dieses auch für die Interfaces zur Verfügung zu stellen)
Bei Objekten geht sowas aber nicht (niemals, also nicht ohne soeinen komischen Garbage-Collector)
Und man kann sich sehr schön Datentypen basteln und die zugehörigen Funktionen direkt dort einbauen.
Da geistern vom mir z.b. ein paar knuffige MD5 und SHA1-Varianten durch die
DP.
PS: Objekte sind auch nur Pointer, auf aufgemotzte Records und mit ein bissl Vererbung und vollständiger impliziter Dereferenzierung.