Einzelnen Beitrag anzeigen

Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#1

Record schreibgeschützt weil Feld von Klasse

  Alt 22. Nov 2012, 15:08
Zitat:
In Delphi 2010 und höher wird der Fehler E2064 auch vom Compiler ausgegeben, wenn Sie versuchen, einen Wert an einen Member eines Records zuzuweisen, der von einer schreibgeschützten Eigenschaft bereitgestellt wird. Betrachten Sie den folgenden Record-Typ:

TCustomer = record Age: Integer; Name: String; end;
Dieser Record wird von einer schreibgeschützten Eigenschaft in der folgenden Klasse bereitgestellt:

TExposing = class ... CurrentCustomer: TCustomer read SomeInternalField; ... end;
Die Zuweisung eines Wertes an die Eigenschaft CurrentCustomer oder an einen Member des von der Eigenschaft CurrentCustomer bereitgestellten Records führt zur Ausgabe des Fehlers E2064 durch den Compiler.
Von „http://docwiki.embarcadero.com/RADSt...Delphi)“
Kategorie: RAD Studio – Referenz

Was kann ich machen?

Muss doch möglich sein, einen Wert von außen zuzuweisen?

Delphi-Quellcode:
Tmyrecord = record
  a : integer;
  b : integer;
end;

myclass = class
private
  Fmyrecord : Tmyrecord;
public
  property myrecord : Tmyrecord read Fmyrecord write Fmyrecord ;
end;

Wirklich nur mit Pointern???... Wenn ja wie ist die Konvention?
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat