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.   
 
 Verein
Verein 
 Links
Links Suche
Suche