Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Neue Komp m. Eig. v. Typ StringList..Was muss ich beacht

  Alt 3. Nov 2003, 14:09
Diese Implementierung funktioniert bei mir einwandfrei:
Delphi-Quellcode:
unit tststrings;

interface
uses
  Classes,
  SysUtils;

type
  TTstStrings = class(TComponent)
  private
    FStrings: TStrings;
    procedure SetStrings(const Value: TStrings);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy;override;
  published
    property Strings: TStrings read FStrings write SetStrings;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('TstStrings', [TTstStrings]);
end;

{ TTstStrings }

constructor TTstStrings.Create(AOwner: TComponent);
begin
  inherited;
  FStrings:= TStringList.Create;
end;

destructor TTstStrings.Destroy;
begin
  FreeAndNil(FStrings);
  inherited;
end;

procedure TTstStrings.SetStrings(const Value: TStrings);
begin
  Assert( Assigned(Value) );
  FStrings.Assign(Value);
end;

end.
Die Methode nach der write-Direktive gibt den Setter an, der Aufgerufen wird. Statt der Getter und Setter, wie in Java, C++, Smalltalk, etc. üblich, gibt es unter Delphi diese Spezialität, die Properties, um es dem Entwickler "angenehmer" zu machen. Außerdem basieren andere Konzepte zB der Object-Inspector auf dem Prinzip der Properties (in Java hingegen muss man sich für ähnlichen Komfort an genaue Namenskonventionen halten)
gruß, choose
  Mit Zitat antworten Zitat