![]() |
Form wird nach dem compilieren nicht angezeigt
Hallo
Seit kurzem hab ich wieder angefangen mit Delphi zu programmieren und probier zur Zeit hauptsälich eigenen Klassen zu programmieren und so weiter Bei diesem Program wollte ich auch gleich mal die repeat Schleife ausprobieren
Code:
Wenn ich allerdings compelieren wil erscheint das Fenster meines Programmes nicht. Warum kann ich mir denken doch wie kann man des verhindern. (Das Programm ist noch nicht fertig ich wollte es nur mal testen :))
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; procedure FormCreate(Sender: TObject); procedure onclose(Sender: TObject; var Action: TCloseAction); procedure Timer1Timer(Sender: TObject); private { Private-Deklarationen } punkt : TPunkt; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} {procedure TPunkt.ermmittlehöhe; begin rhoehe := form1.ClientHeight; Bewegung(); end;} procedure TPunkt.Bewegung(); begin repeat case rRichtung of 1: begin rpunkt.Y:= rpunkt.Y +1; if rpunkt.Y = rhoehe then rRichtung := 2; end; 2: begin rpunkt.Y:= rpunkt.Y -1; if rpunkt.Y = 0 then rRichtung := 1; end; end; 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; punkt.Bewegung; end; procedure TForm1.onclose(Sender: TObject; var Action: TCloseAction); begin punkt.Free; punkt.rschliessen := true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin showmessage(inttostr(punkt.rpunkt.Y)); end; end. |
AW: Form wird nach dem compilieren
Warum denkst Du denn wird das Formular nicht angezeigt?
Und was könntest Du Dir für Deinen Grund als Alternativmöglichkeiten vorstellen? Spoiler: Noch bevor das Formular das allererste mal gezeichnet wird startest Du eine Endlosschleife. Die lässt dem Formular keine Möglichkeit mehr, die Nachrichten zu verarbeiten die es Zeichnen würden. Ein simples Applicatio.ProcessMessages; würde reichen, macht die Schleife aber wieder rotzlahm. |
AW: Form wird nach dem compilieren
Was steht in der Projektdatei (Menu Projekt > Quelltext anzeigen)?
|
AW: Form wird nach dem compilieren
Code:
@Popov das ist der Code den du meinst oder?
program Project1;
uses Forms, test in 'test.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. @Phoenix ich glaub da ic die Procedure mit der Schleife direct in die oncreate procedure reingeschrieben hab das die Form erst dann erstellt wird wenn die Schleife beendet wurde |
AW: Form wird nach dem compilieren
Zitat:
|
AW: Form wird nach dem compilieren
Rate mal, warum dein Delphi einen Debugger hat?
Denn kann man doch tatsächlich dafür benutzen, um zu schauen warum etwas nicht passiert, bzw. was gerade passiert. PS: [DELPHI]-Tags haben auch ihre Vorteile. Und die Überschrift ... Was wird denn? |
AW: Form wird nach dem compilieren
Danke jetzt wird zumindest mal das messagefeld angezeigt
Zitat:
|
AW: Form wird nach dem compilieren
Zitat:
|
AW: Form wird nach dem compilieren
Wie kann ich den die Schleife verlangsamen?
|
AW: Form wird nach dem compilieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 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