![]() |
OnChange-Ereignis einer TStringliste abfangen!?
Hallo Wissende!
Ich befülle eine TStringliste und möchte nun das OnChange-Ereignis dieser Stringliste nutzen, weiss aber leider nicht wie ich das anstellen muss! In der Hilfe zu Delphi steht leider nicht wirklich etwas befriedgendes dazu. :twisted: Ich würde mich über einen guten Tipp echt freuen! |
Re: OnChange-Ereignis einer TStringliste abfangen!?
Moin Tom,
Du kannst einfach der Eigenschaft OnChange eine Prozedur von Typ TNotifyEvent zuweisen:
Delphi-Quellcode:
type
TForm1 = class(TForm) //... procedure MyStringListChange(Sender: TObject); //... end; implementation // In welcher Methode das auch immer geschehen soll sl.OnChange := MyStringListChange; //... |
Re: OnChange-Ereignis einer TStringliste abfangen!?
Moin Moin Chris,
ich weiss, ich stell mich manchmal an, wie der erste Mensch, aber leider raff ich es nicht! Also wenn sich die Stringliste ändert, möchte ich den gesamten Inhalt in eine Memo schreiben. Dein Tipp, zumidenst habe ich ihn so verstanden, löste aber nur ein OnChange-Ereignis bei einem anderen Control aus!? Ich seh wohl den Wald vor lauter Bäumen nicht!?
Code:
Leider wird die MessageBox bisher nicht angezeigt, auch wenn sich der Inhalt der Stringliste 20 mal ändert und das passiert definitiv, da ich mir testhalber mal den Inhalt habe ausgeben lassen. Was mache ich also falsch!?
type
TCodemaker = class(TForm) //... procedure Memo1Change(Sender : TObject); //... implementation procedure TCodemaker.Memo1Change(Sender : TObject); begin ShowMessage('hallo'); end; |
Re: OnChange-Ereignis einer TStringliste abfangen!?
Moin Tom,
dann noch einmal ausführlicher:
Delphi-Quellcode:
type
TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure MyStringListChange(Sender: TObject); private { Private-Deklarationen } sl : TStringList; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin sl.Add('Neue Zeile'); end; procedure TForm1.MyStringListChange(Sender: TObject); begin ShowMessage('Ich wurde verändert'); end; procedure TForm1.FormCreate(Sender: TObject); begin sl := TStringList.Create; sl.OnChange := MyStringListChange; end; procedure TForm1.FormDestroy(Sender: TObject); begin FreeAndNil(sl); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz