Hallo,
ich habe in meinem Programm ein seltsames Verhalten: ich habe ein Editfeld, dazu eine TUpDown-Komponente, die dem Editfeld mit Associate zugewiesen ist. Wenn ich nun den (numerischen) Wert im TEdit mit Up oder Down verändere, und direkt danach eine Aktion ausführe, reagiert die TUpDown-Komponente bei jedem Klick auf dem Formular, egal wo. Ich habe hier mal einen Beispielcode, wo ich statt meiner Aktion einfach ein Showmessage aufrufe, um das ganze zu verdeutlichen.
Delphi-Quellcode:
procedure TForm1.UpDown1ChangingEx(Sender: TObject; var AllowChange: Boolean;
NewValue: Smallint; Direction: TUpDownDirection);
begin
UpDown1.Tag := StrToInt(Edit1.Text);
UpDown1.Tag := UpDown1.Tag + NewValue;
Edit1.Text := Format('%.7d', [UpDown1.Tag]);
ShowMessage('ok');
AllowChange := False;
end;
Kann das Verhalten noch jemand nachvollziehen? Oder besser: hat jemand einen Vorschlag, wie ich den mehrfachen Aufruf verhindern kann?
Gruß,
ernschd