hier eine simple Frage von jemandem der seine ersten Schritte mit Lazarus versucht :
warum funktioniert der unten stehende code nicht wie er sollte, also dass bei jedem 1 Mio n'sten Schritt der Schleife der Wert von i als Label angezeigt wird.
Stattdessen wird Form1 erst geöffnet wenn die Schleife komplett durchlaufen ist, und es wird nur der letzte Wert von i als Label1 angezeigt.
(Lazarus v.1.0.2; FPC 2.6.0; SVN Ver.39019; CPU i386 win32)
Vielen Dank im Voraus
Gruss R.N.
Code: Alles auswählen
type
{ TForm1 }
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject); //wird im objectinspector durch oncreate aufgerufen
procedure main;
private
{ private declarations }
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
main;
end;
procedure TForm1.main;
var i,j:longint;
begin
for i:=0 to 1000000000 do begin
if (i mod 1000000)=0 then begin
Label1.caption:=IntToStr(i);
Application.ProcessMessages;
end;
end;
end;
end.