Einzelnen Beitrag anzeigen

Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#2

AW: Aufbau eigene Klasse mit Property und TStrings

  Alt 30. Dez 2010, 12:35
Das mit der Erstellung der Stringliste im Constructor und die Freigabe im Destructor ist OK.

Allerdings geht
Delphi-Quellcode:
property ComPortPropertys: TStrings read GetComPortPropertys write FComPortProperty;
//
garantiert schief, da Du beim Schreiben der Eigenschaft einfach die erstelle Stringliste überschreibst und es damit zu einem Speicherleck kommt. Normalerweise brauchst du dafür keinen Setter (also wird die Eigenschaft nur read-only). Dennoch kannst Du natürlich schreibend auf den Inhalt der Stringliste zugreifen:
Delphi-Quellcode:
property ComPortPropertys: TStrings read FComPortPropertys;
//
Willst Du unbedingt die Eigenschaft ComPortPropertys schreibbar gestalten, mußt Du das über eine Methode machen:
Delphi-Quellcode:
property ComPortPropertys: TStrings read FComPortPropertys write SetComPortProperty;

procedure TMB100.SetComPortProperty(Value: TStrings);
begin
  FComPortProperty.Assign(Value);
end;
Zum Lesen der Eigenschaft ComPortPropertys brauchst Du übrigens keine Methode (GetComPortPropertys).
Thomas Nitzschke

Geändert von Thom (30. Dez 2010 um 12:45 Uhr)
  Mit Zitat antworten Zitat