Einzelnen Beitrag anzeigen

gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#1

Anweisung wird nicht ausgeführt (SetFocus)

  Alt 10. Aug 2008, 14:23
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
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat