Ich denke Records und Objekte haben jeder für sich ihre Daseinsberechtigungen.
Objekte nehme ich immer dann wenn ich auf Konstruktor/Destruktor angewiesen bin. Records verwende ich - wie bisher auch - um Daten zusammen zu fassen.
Die "neuen" Records finde ich gut, käme aber nicht auch die Idee auf biegen und brechen unbedingt einen Record anstelle eines Objekts zu nehmen.
Eine meiner Favoriten ist eine Clear-Methode in Records, das steigert meiner Meinung nach die Code-Qualität.
Code:
TMyRecord: record
A: integer;
B: integer;
procedure clear;
end;
TMyRecord.Clear;
begin
FillChar(self,SizeOf(self),0);
end;
TForm1.Button1Click(Sender: TObject)
var
r1: TMyRecord;
begin
r1.Clear;
end;
Bei der Verarbeitung von Datenströmen - seriell oder
TCP ist mal egal - haben die "neuen" Records echt Vorteile. CRC-Berechnung, Telegramm-Validierung, Parsing kann alles im Record laufen. Das macht den Code viel übersichtlicher.
-
arno