Announcement

Collapse
No announcement yet.

TStringList und das OnChange

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TStringList und das OnChange

    Hallo,

    ich benutze ín einer Komponete eine TStringList.
    <br>Leider merke ich <b>nicht</b> wenn im Programm via
    <br><pre>TmeineK.Lines.Add('blabla');</pre>
    <br>Einträge verändert werden. Ich habe natürlich die Property erstellt
    <br><pre>
    ..
    public
    flines:TStringList;
    ..
    procedure setlines(value:TStringList);
    ..
    published
    property Lines:TStringList read flines write setlines;
    ..
    end;
    ..
    ..
    procedure TmeineK.setlines(value:TStringList);
    begin
    flines.Assign(value);
    inv;
    end;
    <pre>
    <br>Nun meine Frage wie kann ich das Ereignis OnChange der Klasse 'TStringList' in meiner KOmponente erhalten?
    <br>Aus Not habe ich schnell zwei neue Methoden erstellt.
    <br> Danke

  • #2
    Hallo Bernd,
    <pre>
    public
    flines:TStringList;
    FOnChangeList :TNotifyEvent;
    procedure setlines(value:TStringList);
    PROCEDURE DoOnChangeList(Sender:TObject); // <<-----
    published
    property Lines:TStringList read flines write setlines;
    PROPERTY OnChangeList :FOnChangeList READ FOnChangeList WRITE FOnChangeList; // <<-----
    end;
    <br>
    implementation
    <br>
    procedure TmeineK.setlines(value:TStringList);
    begin
    flines.Assign(value);
    inv;
    end;
    <br>
    CONSTRUCTOR TmeineK.Create(...);
    BEGIN
    ...
    flines := TStringList.Create;
    flines.OnChange := DoOnChangeList; // <<-----
    ...
    END;
    <br>
    PROCEDURE TmeineK.DoOnChangeList(Sender:TObject); // <<-----
    BEGIN
    IF Assign(FOnChangeList) THEN
    BEGIN
    // Hier wird das OnChange dem Entwickler angezeigt
    FOnChangeList(Self);
    END;
    END;
    </pre>
    <br>
    Gruss Stefa

    Comment


    • #3
      Hallo Stefan

      Danke ich werde es gleich einbauen...

      Gruss Bernn

      Comment

      Working...
      X