Zitat von
Siggy:
Unser Lehrer hat gemeint, ist halt so aber irgendwie kann ic das nicht glauben. Deswegen meine 1. Frage:
Wie kann man das verbessern??
Den Leerkörper wechseln! ... eine andere Möglichkeit sehe ich da nicht ...
Zitat von
Marc.:
Das ist auch klar! Wie willst du einem Edit-Feld den Focus geben, wenn es noch gar nicht wirklich "existiert" ?
Das ist leider falsch!
Der Event OnCreate wird _nach_ dem kompletten Erzeugen des Formulars gefeuert.
Sonst würde eine andere Fehlermeldung kommen
Statt
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
Edit2.SetFocus;
end;
würde ich das eher in OnShow platzieren
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
Edit2.SetFocus;
end;
und wenn das wirklich ausschließlich nach dem Erzeugen passieren soll, dann einen Timer nehmen, den Interval auf 1 setzen und
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Sender is TTimer
then
TTimer( Sender ).Enabled := False;
Edit2.SetFocus;
end;
cu
Oliver
[edit]sorry xZise, da habe ich wohl beim Zitieren zuviel weggelöscht[/edit]