Die Typen
TPunkt sind zwar identisch, aber die Typen der Records nicht, so dass in Deinem Beispiel die Zuweisung
Quadrat1:= Quadrat2;
nicht zugelassen werden wird, weil der Compiler sie nicht als identische Typen ansieht.
Stichworte für die
OH: "Kompatibilität und Identität von Typen", "Typenidentität", "Typenkompatibiltät" und "Zuweisungskompatibilität"
Zitat von
OH, leicht modifiziert:
Sprachkonstrukte, die als Typnamen fungieren, erzeugen bei jedem Auftreten einen anderen Typ. Die folgenden Typdeklarationen
Delphi-Quellcode:
type
TS1 = set of Char;
TS2 = set of Char;
definieren beispielsweise die beiden unterschiedlichen Typen TS1 und TS2. Entsprechend werden mit den Variablendeklarationen
Delphi-Quellcode:
var
S1: string[10];
S2: string[10];
zwei Variablen unterschiedlichen Typs erzeugt. Um Variablen mit identischem Typ zu deklarieren, gehen Sie folgendermaßen vor:
var S1, S2: string[10];
oder
Delphi-Quellcode:
type TMyString = string[10];
var
S1: TMyString;
S2: TMyString;