Hi,
bin jetzt bei folgendem Code:
Delphi-Quellcode:
procedure THaus.DoBuild(FigurType: TFigurType);
begin
I := 0;
if not OnProgress then
FBuild := 0;
case FigurType of
ftArbeiter:
begin
OnProgress := true;
while FBuild < 100 do
begin
I := I + 0.5;
if I = 1000000 then
begin
Application.HandleMessage;
FBuild := FBuild + 1;
I := 0;
end;
end;
if FBuild >= 100 then
begin
FBuild := 0;
with TArbeiter.Create(fmaingame.SpriteEngine.Engine) do
begin
X := Self.X;
Y := Self.Y + 100;
end;
Anzahl := Anzahl - 1;
if Anzahl > 0 then
begin
DoBuild(ftArbeiter);
end
else
exit;
end;
end;
end;
OnProgress := false;
FBuild := 0;
end;
Durch das HandleMessage geht das PRogramm weiter, aber es ruckelt wie die Sau.
Eine Idee ist mir noch gekommen. Vielleicht sollte man das in nem Thread berechnen lassen? Das gefällt mir zwar nicht so, aber wenns nicht anders geht, dann ist das besser als nix.
*MFG*
Manu