Wenn Du statt Records Klassen verwenden würdest und statt der Felder published Properties, könntest Du mithilfe der
RTTI (Runtime Type Information, siehe
OH) selbst bei Referenzierten (Pointer als Recordfelder) oder Aggregierten (Unterrecords als Recordfelder) Objekten (dann Rekursiv) einen "tiefen Vergleich" durchführen.
Die Problematik entspricht im Wesentlichen dem Problem der der
shallow copy und der
deep copy.
Wenn Dich dieser Ansatz interssiert, mache einen neuen Thread auf und wir könnten den Vergleich von Objekten mithilfe der
RTTI diskutieren (leider erst heute nach Feierabend).