Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DateTimePicker: kein "OnChange" bei DateTime-Änderung (https://www.delphipraxis.net/192493-datetimepicker-kein-onchange-bei-datetime-aenderung.html)

Helmi 24. Apr 2017 08:45

DateTimePicker: kein "OnChange" bei DateTime-Änderung
 
Hallo,

In bestimmten Situationen möchte ich ein DateTimePicker auf die aktuelle Uhrzeit/Datum setzen.

Wenn ich nun
Delphi-Quellcode:
DateTimePicker_Filter.DateTime := now;
ausführen lasse, so ändert sich
zwar das Datum im DateTimePicker (Uhrzeit sehe ich nicht, da ich es nicht ausgewählt habe), aber die
Property "OnChange" wird nicht ausgelöst; Nur wenn ich manuell ein Datum im DateTimePicker auswähle.

Ist das ein Bug?
Oder bedarf`s noch einer zusätzlichen Einstellung?

haentschman 24. Apr 2017 09:20

AW: DateTimePicker: kein "OnChange" bei DateTime-Änderung
 
Moin...:P
Das ist imho schon immer so beim Setzen des Wertes via Code. :wink:

himitsu 24. Apr 2017 09:22

AW: DateTimePicker: kein "OnChange" bei DateTime-Änderung
 
Es gibt mehrere Komponenten, wo bei programmseitiger Änderung kein OnChange oder Dergleichen ausgelöst wird.

Helmi 24. Apr 2017 10:12

AW: DateTimePicker: kein "OnChange" bei DateTime-Änderung
 
Zitat:

Zitat von haentschman (Beitrag 1368796)
Moin...:P
Das ist imho schon immer so beim Setzen des Wertes via Code. :wink:

ok - bin jetzt etwas überrascht, da es hier in der DP einen Thread gibt (und zwar hier), bei dem anscheinend auch bei Änderung ein OnChange ausgelöst wird
(ok - er ist schon etwas historisch)

haentschman 24. Apr 2017 10:19

AW: DateTimePicker: kein "OnChange" bei DateTime-Änderung
 
Moin...:P
Wenn dieser Code im OnChange, wenn es so wäre, ausgeführt würde, hättest du eine Endlosschleife. :zwinker:
Delphi-Quellcode:
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  if datetimepicker1.DateTime < now then
  begin
    showmessage('Datum liegt in der Vergangenheit!!!');
    datetimepicker1.DateTime := now; // hier würde wieder OnChange aufgerufen...macht der aber nicht.
end;

Helmi 24. Apr 2017 10:20

AW: DateTimePicker: kein "OnChange" bei DateTime-Änderung
 
Zitat:

Zitat von haentschman (Beitrag 1368806)
Moin...:P
Wenn dieser Code im OnChange, wenn es so wäre, ausgeführt würde, hättest du eine Endlosschleife. :zwinker:
Delphi-Quellcode:
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  if datetimepicker1.DateTime < now then
  begin
    showmessage('Datum liegt in der Vergangenheit!!!');
    datetimepicker1.DateTime := now; // hier würde wieder OnChange aufgerufen...macht der aber nicht.
end;

Mist - jetzt wo du es sagst, hast recht :-)
So genau hab ich mir das gar nicht angeschaut


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