Zitat von
Daniel B:
Hi,
so ich habe es gefunden.
Das Problem ist die Zeile
Delphi-Quellcode:
procedure TForm7.FormShow(Sender: TObject);
begin
form1.Enabled:=false;
{button1.Click;}
{SetWindowPos(Handle, HWND_TOPMOST, 0 , 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);}
label1.Caption:='
Bitte warten sie, bis der Computer (' + spieler[r].
name + '
) seine Züge getätigt hat.';
//if form1.enabled=true then showmessage('form1 aktiv!!') else showmessage('form1 nicht aktiv!!')
end;
Die mit // Kommentierte.
Nimm sie da raus, und schriebe sie in der OnPaint-Prozedur von Form1 rein!
Dann gehts, wenn ich es richtig verstanden habe. OnShow war einfach zu früh. OnPaint kommt erst danach.
Siehe auch:
http://www.delphipraxis.net/viewtopic.php?t=200
Grüsse, Daniel
puhh, jo, in der formpaint-prozedur geht des disablen von form1. Die message war ja garnicht das wichtige, die hab ich nur zum überprüfen reingebaut ob form1 enabled auf false oder true ist.
Delphi-Quellcode:
procedure TForm7.FormShow(Sender: TObject);
begin
[color=#ff0008]form1.Enabled:=false;[/color] //das hat nicht funktioniert
label1.Caption:='Bitte warten sie, bis der Computer (' + spieler[r].name + ') seine Züge getätigt hat.';
end;
Also kann man den enabled-status in formshow nicht sofort nach dem erzeugen benutzen? Das soll erstmal einer wissen....
Aber jetzt klappt es ja, vielen dank nochmal für die Hilfe!
mfg
Helmut