Einzelnen Beitrag anzeigen

Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#1

Unter Net kann der linken Seite oft nichts zugewiesen werden

  Alt 13. Mai 2005, 13:57
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?
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat