Nein, es geht nicht um Delphi 5. Das ist eine Option, die es wohl nur in bestimmten Bereichen hier gibt und ich wie auch andere oft übersehe. Links steht inzwischen "Delphi 11 Alexandria"
Das mit JSON wäre eine Idee.
RTTI ist mir derzeit für mich zu aufwendig. Das soll dann ja auch rekursiv gehen und es muss dann auch eine abgefüllte Instanz davon geben.
Als Beispiel für eine Ausgabe:
Delphi-Quellcode:
Destination.Assign(Source);
CheckEquals(Source.Lampen.Count, Destination.Lampen.Count);
CheckEquals(Source.Lampe1.Typ, Destination.Lampe1.Typ);
CheckEquals(Source.Lampe1.Farbe, Destination.Lampe1.Farbe);
CheckEquals(Source.Lampe2.Typ, Destination.Lampe2.Typ);
CheckEquals(Source.Lampe2.Farbe, Destination.Lampe2.Farbe);
CheckEquals(Source.Lampe3.Typ, Destination.Lampe3.Typ);
CheckEquals(Source.Lampe3.Farbe, Destination.Lampe3.Farbe);
CheckEquals(Source.Lage.Position.x, Destination.Lage.Position.x);
CheckEquals(Source.Lage.Position.y, Destination.Lage.Position.y);
CheckEquals(Source.Lage.Position.z, Destination.Lage.Position.z);
CheckEquals(Source.Lage.Richtung, Destination.Lage.Richtung);
...