hallo @all.
Delphi-Quellcode:
procedure TF_DlgSetUp.BtnInsertClick(Sender: TObject);
begin
InsertName;
end;
procedure TF_DlgSetUp.EdProgNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_RETURN then InsertName;
EdProgName.SetFocus;
Application.ProcessMessages;
end;
procedure InsertName;
begin
if (Trim(F_DlgSetUp.EdProgName.Text) <> '') and
(Trim(F_DlgSetUp.EdProgName.Text) <> F_DlgSetUp.EdString)
then F_DlgSetUp.LBoxDlg.Items.Insert
(F_DlgSetUp.LBoxDlg.Items.Count,F_DlgSetUp.EdProgName.Text);
F_DlgSetUp.EdProgName.Text := F_DlgSetUp.EdString;
ShowMessage('1'); //XXXXXXXXXXXXXXXXXXX
F_DlgSetUp.EdProgName.SetFocus;
ShowMessage('2'); //XXXXXXXXXXXXXXXXXXX
end;
Die Prozedur
"InsertName" wird zweimal aufgerufen. Beim Aufruf aus BtnInsertClick wird "EdProgName.SetFocus;" durchgeführt, beim Aufruf aus "EdProgNameKeyDown" jedoch nicht. In beiden Fällen wird jedoch sowohl ShowMessage('1') als auch ShowMessage('2') aufgerufen.
Wer kann helfen? - Vielen Dank im Voraus.
Gruß Jürgen