Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Button1.left durch schleife bleibt Programm haengen (https://www.delphipraxis.net/177601-button1-left-durch-schleife-bleibt-programm-haengen.html)

Natcree 15. Nov 2013 11:35

Button1.left durch schleife bleibt Programm haengen
 
Habe einen Button der immer den ablauf in der Schleife wieder holen soll. Nun stürtz Bloss mein popup menü ab und ich kann das Prog nicht mehr beenden ode Bedienen.

Hier mal der Code

Delphi-Quellcode:
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
var
i,j:integer;
begin
  if MediaPlayer1.NotifyValue = nvSuccessful then
  MediaPlayer1.Play;

for i:= 1 to 45 do
begin
colorButton1.Left := (colorButton1.left - 1);
sleep(70);
end;
sleep(70);
for i:= 1 to 45 do
begin
colorButton1.Left := (colorButton1.left + 1);
sleep(70);
end;
for i:= 1 to 45 do
begin
colorButton1.Left := (colorButton1.left - 1);
sleep(70);
end;
for i:= 1 to 45 do
begin
colorButton1.Left := (colorButton1.left + 1);
sleep(70);
end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
Panel1.Align:=alclient;
MediaPlayer1.Notify := true;
Mediaplayer1.Play;
end;
Wo ist der Fehler???

Uwe Raabe 15. Nov 2013 11:39

AW: Button1.left durch schleife bleibt Programm haengen
 
Mit sleep blockierst du deinen Programmablauf und dein Programm "hängt". Da ich aber auch nicht ganz verstehe, was du eigentlich erreichen willst, kann ich auch keinen Hinweis geben, was du machen sollst.

Mavarik 15. Nov 2013 11:40

AW: Button1.left durch schleife bleibt Programm haengen
 
Hi!

Abgesehen davon, dass sich mir den Sinn nicht so ganz erschließt einen Button rum zu schieben...
- ohne jegliches Application.processmessages wirst du es eh nicht sehen

Ich würde sagen ein .Play im Notify ruft Notify immer wieder rekursiv auf und ist somit eine Endlosschleife bis der Stack voll ist...

Mavarik

Natcree 15. Nov 2013 11:48

AW: Button1.left durch schleife bleibt Programm haengen
 
okay ich lasse in dem Programm über den media player ein video laufen mit einem dns Strang.
Dieses Video wiederholt sich ständig und wird als Virtueller Hintergrund genutzt. Die Buttons sollen sich dem DNS strang ( der sich wie eine Schlange dreht) immer in der Gleichen Position zu diesem sein und sich mit bewegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz