Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sleep erzeugt Error? (https://www.delphipraxis.net/119153-sleep-erzeugt-error.html)

rich123 21. Aug 2008 08:19


Sleep erzeugt Error?
 
Hallo zusammen.

Ich habe folgendes Problem:

Und zwar habe ich z.B. folgenden Code:

Delphi-Quellcode:
procedure TFahrspielSimulator.Button4Click(Sender: TObject);
begin
   for zeile:=1 to zeilenanzahl-1 do begin
     ShowMessage('test');
   end;
end;
funzt auch, ABER:
Delphi-Quellcode:
procedure TFahrspielSimulator.Button4Click(Sender: TObject);
begin
   for zeile:=1 to zeilenanzahl-1 do begin
     ShowMessage('test');
     Sleep(95);
   end;
end;
funzt auch, wenn ich aber mein Programm schließe kommt eine Fehlermeldung, die mir sagt, dass ich irgendwelche Zugriffsverletzungen mache.

Was steckt da dahinter?

Danke
Gruß

mkinzler 21. Aug 2008 08:22

Re: Sleep erzeugt Error?
 
Ich würde ein Timer anstatt des Sleep verwenden.

roga 21. Aug 2008 08:26

Re: Sleep erzeugt Error?
 
mkinzler war etwas schneller :wink:

Aber was soll das Sleep hier bewirken? ShowMessage wartet do sowieso auf eine Bestätigung!

rich123 21. Aug 2008 08:36

Re: Sleep erzeugt Error?
 
jup ist schon klar, aber meine frage war eher, warum ein Error auftaucht?

Ist doch etwas seltsam oder?

roga 21. Aug 2008 08:43

Re: Sleep erzeugt Error?
 
Jetzt musste ich es doch mal testen...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  for i := 1 to 5 do
  begin
    ShowMessage('test');
    Sleep(95);
  end;
end;
...und wie erwartet traten keinerlei Probleme auf. Muss wohl irgentwas mit Deiner Schleife nicht stimmen!

rich123 21. Aug 2008 08:51

Re: Sleep erzeugt Error?
 
Okay ein Reboot reichte und es funktioniert wieder,

Danke trotzdem

himitsu 21. Aug 2008 10:14

Re: Sleep erzeugt Error?
 
anonsten könnte der Fehler auch in einem anderem Thread liegen (was hier wohl nicht fer Fall war, aber was soll's ) ... mir ist mal aufgefallen, daß wenn ich einen Thread starte und wärenddessen im Einzelschrittmodus unterwegs bin, daß erst nach Prozedurende (im Iddlemode der VCL-Anwendung), oder bei einem Sleep(im aktuellen Thread) der vorher "gestatete" Thread erst da anläuft und darin auftretente Exceptions auch erst z.B. beim Sleep aufauchen.

SirThornberry 21. Aug 2008 10:24

Re: Sleep erzeugt Error?
 
für mich sieht das danach aus das irgendwo speicher überschrieben wird etc. Und durch das Sleep im Programmcode verschiebt sich etwas und somit erscheint die Zugriffsverletzung dann beim Speicher.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr.

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