Hallo,
ich habe hier ein kleines Codebeispiel. Das wird unter
Win32 problemlos kompiliert (ist nicht vollständig, nicht ausführen):
Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE}
type
TAufzaehlung = (aVal1, aVal2);
TTestRec = record
Aufzaehlung: TAufzaehlung;
iVal: Integer;
end;
TTestClass = class
public
aRec: TTestRec;
dVal: Double;
end;
TSuperClass = class
private
FTestClass: TTestClass;
public
property Testclass: TTestClass read FTestClass;
end;
var aSuperClass: TSuperClass;
begin
aSuperClass := TSuperClass.Create;
aSuperClass.Testclass.dVal := 3.2;
with aSuperClass.Testclass do begin
aRec.iVal := 32;
aRec.Aufzaehlung := aVal1;
end;
// Die zwei Zeilen können unter Net nicht
// kompiliert werden:
// Der linken Seite kann nichts zugewiesen werden
aSuperClass.Testclass.aRec.iVal := 32;
aSuperClass.Testclass.aRec.Aufzaehlung := aVal1;
end.
Die zwei unteren Zeilen können allerdings nicht kompiliert werden, da der linken Seite angeblich nichts zugewiesen kann. Wieso ist das denn so?