Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Combobox onChange nicht ausführen wenn der Itemindex nicht geändert wurde (https://www.delphipraxis.net/205099-combobox-onchange-nicht-ausfuehren-wenn-der-itemindex-nicht-geaendert-wurde.html)

kagi3624 31. Jul 2020 10:08

Delphi-Version: 6

Combobox onChange nicht ausführen wenn der Itemindex nicht geändert wurde
 
Hallo, bei mir wird die onChange Funktion aufgerufen, auch wenn ich das selbe aus der Liste auswähle, was auch schon vorher drin stand. Gibt es irgendwo in den Eigenschaften eine Option, die ich anklicken muss oder kann man das anders umgehen mit index vorher index nachher?

DeddyH 31. Jul 2020 10:12

AW: Combobox onChange nicht ausführen wenn der Itemindex nicht geändert wurde
 
Merk Dir doch einfach den aktuellen ItemIndex, im OnChange vergleichst Du dann aktuell mit gemerkt und weißt Bescheid.

kagi3624 31. Jul 2020 10:15

AW: Combobox onChange nicht ausführen wenn der Itemindex nicht geändert wurde
 
Zitat:

Zitat von DeddyH (Beitrag 1470907)
Merk Dir doch einfach den aktuellen ItemIndex, im OnChange vergleichst Du dann aktuell mit gemerkt und weißt Bescheid.

Über eine globale Variable dann, oder?

DeddyH 31. Jul 2020 10:17

AW: Combobox onChange nicht ausführen wenn der Itemindex nicht geändert wurde
 
Entweder das oder besser über ein privates Feld des Formulars.

KodeZwerg 31. Jul 2020 10:19

AW: Combobox onChange nicht ausführen wenn der Itemindex nicht geändert wurde
 
Ich empfehle dir die variable mit -1 zu initialisieren.

Moombas 31. Jul 2020 10:45

AW: Combobox onChange nicht ausführen wenn der Itemindex nicht geändert wurde
 
Anstatt einer Variable, könntest du auch den "Tag" setzen (wenn auch nicht wirklich dafür gedacht).

Delphi-Quellcode:
If Combobox.Itemindex <> Combobox.Tag then
begin
//...
  Combobox.Tag := Combobox.Itemindex;
end;

Uwe Raabe 31. Jul 2020 10:57

AW: Combobox onChange nicht ausführen wenn der Itemindex nicht geändert wurde
 
Ich finde in dem Fall ein Feld-basiertes Property mit einem sprechenden Namen und einem Setter, der auf Änderung prüft, die am besten lesbare Lösung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 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