AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sleep bei Form.Create

Ein Thema von speedy · begonnen am 8. Jan 2011 · letzter Beitrag vom 8. Jan 2011
Antwort Antwort
speedy

Registriert seit: 19. Sep 2003
55 Beiträge
 
Delphi XE5 Professional
 
#1

Sleep bei Form.Create

  Alt 8. Jan 2011, 15:16
Delphi-Version: 2009
Wollte mal eben mit ner Progressbar spielen und hab mal bei Form.Create folgendes rein:

Code:
  repeat
    sleep(200);
    progressbar1.Position := progressbar1.Position + 2;
    progressbar1.Refresh;
  until progressbar1.Position = 100;
Komischerweise erscheint das komplette Fenster jetzt erst, wenn die Progressbar kurz vor dem Ende ist.
Wenn ich die Schleife allerdings über einen Timer mit 1 ms aufrufe (wird vor der Schleife natürlich deaktiviert) funktioniert alles wie es sollte. Auch die Benutzung von Application.ProcessMessages bringt nichts.

Weiß jemand woran das liegen könnte und ich ohne den Timer auskomme?


Gruß
Roland
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#2

AW: Sleep bei Form.Create

  Alt 8. Jan 2011, 15:27
Hallo...
Zitat:
Weiß jemand woran das liegen könnte
Ja... du hast noch nicht verstanden, wann welche Ereignisse ausgeführt werden.

OnCreate...wenn das Formular erzeugt wird. (da ist es noch nichts sichtbar)
OnShow...wenn das Formular angezeigt wird. (da sind noch keine visuellen Komponenten sichtbar)
OnActivate... wenn das Formular den Focus bekommt
...usw.

Vorschlag:
- mach einen "Start" Button
- im OnClick schreibst du deinen Code
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.442 Beiträge
 
Delphi 12 Athens
 
#3

AW: Sleep bei Form.Create

  Alt 8. Jan 2011, 15:27
Die Schleife im FormCreate verhindert, daß das Form im nachfolgenden Application.Run überhaupt angezeigt wird. Erst im Application.Run wird das MainForm angezeigt und die Schleife zur Verarbeitung der Message-Queue gestartet.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
speedy

Registriert seit: 19. Sep 2003
55 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Sleep bei Form.Create

  Alt 8. Jan 2011, 15:30
Ah jetzt isses mir auch aufgefallen

Danke!
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz