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).