![]() |
Form zeigt sich zu spät
Hi !
Ich hab' folgenden Code in meiner Anwendung:
Delphi-Quellcode:
der code der zweiten procedure wird auch abgearbeitet,
procedure TFrmBlowFish.Wait(time: word);
var Start: Integer; begin Start := GetTickCount; while GetTickCount - Start <= time do application.ProcessMessages; end; procedure TFrmBlowFish.FrmBlowFishOnShow( Sender : TObject ); var I : integer; begin for I := 0 to mm_projekt.Lines.Count do verschluesseln(mm_projekt.Lines.Strings[I]); aktuelle_zeile.Caption := IntToStr(I); Application.ProcessMessages; Wait(30); end; nur da ist ein Problem: aktuelle_zeile ist ein Label und zeigt den Fortschritt an, aber das Programm zeigt sich erst wenn die for-Schleife durchgearbeitet ist! (Das ganze muss aber in der OnShow Prozedur bleiben!) Kennt einer von euch eine Lösung? Danke im Voraus! |
Re: Form zeigt sich zu spät
Hi,
Du hast das "begin" und "end" um Deinen Anweisungsblock vergessen. So gehts:
Delphi-Quellcode:
mfG
procedure TFrmBlowFish.FrmBlowFishOnShow( Sender : TObject );
var I : integer; begin for I := 0 to mm_projekt.Lines.Count do begin verschluesseln(mm_projekt.Lines.Strings[I]); aktuelle_zeile.Caption := IntToStr(I); Application.ProcessMessages; Wait(30); end; end; mirage228 |
Re: Form zeigt sich zu spät
warum hast du nochmal extra processmessages drin, wenn das schon in der wait-funktion drin ist?
warum sollte jemand wollen, dass extra langsam verschlüsselt wird? |
Re: Form zeigt sich zu spät
Liste der Anhänge anzeigen (Anzahl: 1)
@mirage
Deine Lösung funktioniert nicht! @nailor Spürbar langsam wird's auch wieder nicht! Hier mal der Source: Die (selbe) for-Schleife kommt 3x oder 4x vor. Code weicht von den obigen (1st Post) leicht ab. Der Betreffende Code ist in der unit Main |
Re: Form zeigt sich zu spät
Zitat:
Du muß im OnShow einen Timer (minimale Zeit) starten und dann bei Eintreffen des Timers die Schleife durchlaufen lassen. Dann ist auch das Formular sichtbar. |
Re: Form zeigt sich zu spät
@Bernhard Geyer
Danke!, das hat das Problem gelöst! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 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