Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   TStringList und Änderung in OnChange (https://www.delphipraxis.net/165991-tstringlist-und-aenderung-onchange.html)

Schwedenbitter 25. Jan 2012 09:42

TStringList und Änderung in OnChange
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich stehe vor folgendem Rätsel:

Ich habe ein Object gebaut, das von
Delphi-Quellcode:
TStringList
abgeleitet ist und im Grunde bloß auf
Delphi-Quellcode:
OnChange
reagiert. Sinn ist es, einen Stack nachzubauen, der mir Dateien öffnet, wenn ich der StringList einen Eintrag hinzufüge. Natürlich muss ich dann abgearbeitete Einträge löschen, was ich in der Procedure mache, die OnChange zugeordnet ist. Zum Debuggen erscheint eine Meldung.

Eigenartiger Weise erscheint diese aber immer 2x. Meine Vermutung geht jetzt dahin, dass OnChange auch aufgerufen wird, wenn ich den abgearbeiteten Eintrag lösche.

Ist meine Vermutung richtig?
Gibt es eine Lösung für das Problem?

Im Grunde kann ich ja leere Strings ignorieren. Aber mir gefällt das nicht wirklich. Ich habe den Quelltext mal angefügt. Falls jemand meine Beschreibung nicht versteht, sollte meine Frage anhand dessen nachvollziehbar werden.

Gruß, Alex

himitsu 25. Jan 2012 09:52

AW: TStringList und Änderung in OnChange
 
OnChange reagiert, wenn die "Liste" verändert wird.

Egal von wo und ob durch ein Add oder ein Delete.

Du könntest dir einen Flag setzen und dann das OnChange-Ereignis kurzzeitig ignorieren, wärend du löschst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz