Ich hatte dieses Problem für eine Weile links liegen lassen, aber jetzt interessiert mich doch noch die Ursache.
Dazu habe ich ein kleines Testprogramm erstellt.
Ich habe 2 Forms.
Mit Button1 auf Form 1 rufe ich Form2 auf und aktualisiere das Datum des DateTimePickers auf Form2 mit folgendem Code:
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.DateTimePicker1.Date:= Date();
Form2.DateTimePicker1.Checked:= false;
Form2.ShowModal;
end;
Den Status checked setze ich auf false.
Nachdem "Form2.ShowModal" ausgeführt wurde ist der Status des DateTimePickers jedoch wieder true.
Führe ich den Code
Code:
Form2.DateTimePicker1.Date:= Date();
Form2.DateTimePicker1.Checked:= false;
im OnShow Ereignis des Form2 aus bleibt der Status checked=false erhalten.
Wird das Datum des DateTimePickers während dem "Form2.ShowModal" nochmals aktualisiert, oder warum ändert sich der Status automatisch???
Für alle die es nicht nachvollziehen können, habe ich die EXE und den Quellcode beigefügt.