Hallo!
Folgender Aufbau:
Delphi-Quellcode:
type
TMyData = record
Data1: Boolean;
Data2: String;
end;
TMyObject = class(TObject)
protected
FTest: Boolean;
FData: TMyData;
public
property Test: Boolean read FTest write FTest;
property Data: TMyData read FData write FData;
end;
...
procedure Test;
var myObject: TMyObject;
begin
myObject := TMyObject.Create;
myObject.Test := true;
myObject.Test := options.Data.Data1;
myObject.Data.Data1 := true; //[Pascal Fehler] Der linken Seite kann nichts zugewiesen werden
end;
Bei der Anweisung myObject.Data.Data1 := true; kommt es wie beschrieben zu dem Fehler "Der linken Seite kann nichts zugewiesen werden". Ich verstehe nicht warum.
Die Property ist doch klar mit write als schreibbar markiert. Warum kann Data1 also nichts zuweisen? Mir ist dieses Problem mit Records vorher noch nie aufgefallen, allerdings habe ich auch noch nie auf diesen speziellen Fall geachtet...
Wie kann ich also Data.Data1 etwas zuweisen?
Besten Dank
Ares