![]() |
AW: Form wird nach dem compilieren
nein das mit dem Form Zeichnen ist gelöst aber die Schleife ist zu scnel und erfüllt deshalb nicht ihr Ziel
|
AW: Form wird nach dem compilieren
Eine langsamere (Endlos)Schleie braucht länger, also eine Schnelle. :lol:
|
AW: Form wird nach dem compilieren
ja baer wie verlangsamt man eine endlos schleife????
|
AW: Form wird nach dem compilieren
Zitat:
Du stellst hier eine völlig neue Frage. Besser, du erstellst dafür einen neuen Thread. Es erleichtert das Auffinden von Themen enorm, wenn in jedem Thread nur jeweils eine Frage behandelt wird. |
AW: Form wird nach dem compilieren
|
AW: Form wird nach dem compilieren
Zitat:
|
AW: Form wird nach dem compilieren
habs jetzt mit slepp gemacht nur vergessen ins forum zu schreiben trotzdem danke :)
|
AW: Form wird nach dem compilieren
Zitat:
Ich würde mal raten, du meinst, sie bräuchte länger, bis der Stack überläuft ... |
AW: Form wird nach dem compilieren
Zitat:
|
AW: Form wird nach dem compilieren
So jetzt hab ich mein Program beihnah zu ende Programmiert und ein Fehler mit wahrscheinlich gleicher ursache tritt auf.
Code:
wenn ich jetzt auf den button klick um mir den ersten kreis zu erstellen bewegt sich nichts weder der kreis noch die shapevom timer1 (die nur zur kontrolle dient)
unit test;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls; type TPunkt = class(TObject) private { Private-Deklarationen } rRichtung : Integer; rhoehe : Integer; rpunkt : TPoint; rschliessen : Boolean; // procedure ermmittlehöhe(); public { Public-Deklarationen } procedure Bewegung(); end; TForm1 = class(TForm) Timer1: TTimer; Timer2: TTimer; Label1: TLabel; Shape1: TShape; Button1: TButton; Timer3: TTimer; procedure FormCreate(Sender: TObject); procedure onclose(Sender: TObject; var Action: TCloseAction); procedure Timer1Timer(Sender: TObject); procedure Timer2Timer(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer3Timer(Sender: TObject); private { Private-Deklarationen } punkt : TPunkt; sh : array of TShape; shpos : array of TPunkt; anzahl : integer; public { Public-Deklarationen } procedure erstellen(); end; var Form1: TForm1; implementation {$R *.dfm} {procedure TPunkt.ermmittlehöhe; begin rhoehe := form1.ClientHeight; Bewegung(); end;} procedure TPunkt.Bewegung(); var i : integer; begin form1.Timer2.Enabled :=false; repeat case rRichtung of 1: begin rpunkt.Y:= rpunkt.Y +3; if rpunkt.Y > rhoehe-33 then rRichtung := 2; Sleep(25); end; 2: begin rpunkt.Y:= rpunkt.Y -3; if rpunkt.Y < 0 then rRichtung := 1; Sleep(25); end; end; Application.ProcessMessages; until rschliessen = true; end; procedure TForm1.FormCreate(Sender: TObject); begin punkt := TPunkt.Create; //punkt.ermmittlehöhe; punkt.rpunkt.Y:= 0; punkt.rRichtung:=1; punkt.rhoehe:=form1.ClientHeight; punkt.rschliessen := false; timer2.Enabled:=true; end; procedure TForm1.onclose(Sender: TObject; var Action: TCloseAction); var index :word; begin punkt.Free; punkt.rschliessen := true; for index := 0 to anzahl do sh[index].Free; shpos[index].Free; end; procedure TForm1.Timer1Timer(Sender: TObject); begin shape1.Top:= punkt.rpunkt.Y; label1.Caption:=inttostr(punkt.rpunkt.Y); end; procedure TForm1.Timer2Timer(Sender: TObject); begin punkt.Bewegung ; timer3.Enabled:=true; timer2.Enabled :=false; end; procedure TForm1.Timer3Timer(Sender: TObject); var index : word ; begin for index := 0 to anzahl do sh[index].Top := shpos[index].rpunkt.Y; // sh2[index].Bewegung; end; procedure TForm1.Button1Click(Sender: TObject); var X: Integer; begin x:= anzahl+1; setLength(sh, x); setLength(shpos, x); erstellen(); end; procedure TForm1.erstellen; begin shpos[anzahl]:= TPunkt.Create; sh[anzahl]:= TShape.Create(self); sh[anzahl].Parent:= self; sh[anzahl].Brush.Color:= clred; sh[anzahl].Shape:= stcircle; sh[anzahl].Top :=shpos[anzahl].rpunkt.Y; sh[anzahl].Left := random(200); sh[anzahl].Height:= 33; sh[anzahl].Width:= 33; shpos[anzahl].Bewegung(); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 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