AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Form zeigt sich zu spät

Ein Thema von noHuman · begonnen am 14. Jul 2005 · letzter Beitrag vom 14. Jul 2005
Antwort Antwort
Benutzerbild von noHuman
noHuman

Registriert seit: 12. Jul 2005
Ort: Österreich/Stmk
56 Beiträge
 
Turbo Delphi für Win32
 
#1

Form zeigt sich zu spät

  Alt 14. Jul 2005, 19:15
Hi !
Ich hab' folgenden Code in meiner Anwendung:

Delphi-Quellcode:
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;
der code der zweiten procedure wird auch abgearbeitet,
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!
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Form zeigt sich zu spät

  Alt 14. Jul 2005, 19:16
Hi,

Du hast das "begin" und "end" um Deinen Anweisungsblock vergessen.

So gehts:
Delphi-Quellcode:
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;
mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#3

Re: Form zeigt sich zu spät

  Alt 14. Jul 2005, 19:30
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?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von noHuman
noHuman

Registriert seit: 12. Jul 2005
Ort: Österreich/Stmk
56 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Form zeigt sich zu spät

  Alt 14. Jul 2005, 19:50
@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
Angehängte Dateien
Dateityp: zip compiler_213.zip (673,8 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.033 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Form zeigt sich zu spät

  Alt 14. Jul 2005, 19:58
Zitat von noHuman:
Kennt einer von euch eine Lösung?
Danke im Voraus!
Das Problem ist das das OnShow-Event vor der Sichtbarschaltung des Formulars geschieht.
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von noHuman
noHuman

Registriert seit: 12. Jul 2005
Ort: Österreich/Stmk
56 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Form zeigt sich zu spät

  Alt 14. Jul 2005, 20:34
@Bernhard Geyer

Danke!, das hat das Problem gelöst!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf