Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi antifreeze beim form erstellen (https://www.delphipraxis.net/49233-antifreeze-beim-form-erstellen.html)

dioony 7. Jul 2005 14:01


antifreeze beim form erstellen
 
Mittag!

Hab da mal ne Frage... Und zwar möchte ich gerne eine Form während der Laufzeit öffnen. Dies ist ja auch normalerweise kein Problem, aber die Form wird nicht richtig angezeigt, weil es eine Art SplashScreen sein soll, das angezeigt wird, während in der darunter liegenden Form mehrere Dateien geladen und verarbeitet werden...
Nun wird die neue Form auch angezeigt, bloß ohne Inhalt sprich ohne Labels oder Images...

Gibts da sowas wie ein Antifreeze von den Indy Komponenten?

Das ganze wird mit folgender prozedur in Form1 aufgerufen:
Delphi-Quellcode:
procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
begin
   Form3:=TForm3.Create(self);
   Form3.Show;
   Form1.Enabled:=false;
   browsepics(ShellTreeView1.Path);
   Form3.Close;
   Form1.Enabled:=true;
end;
browspics ist eine procedure, welche die dateien lädt und verarbeitet...


In project1.dpr kommt die zeile
Delphi-Quellcode:
Application.CreateForm(TForm3, Form3);
nicht vor...

Robert Marquardt 7. Jul 2005 14:17

Re: antifreeze beim form erstellen
 
Natuerlcih gibt es ein Antifreeze.
Du wirst dich allerdings mit der Threadprogrammierung auseinandersetzen muessen.
So wie ich das sehe bedient browsepics die Messagepumpe nicht.

kalmi01 7. Jul 2005 14:22

Re: antifreeze beim form erstellen
 
Hi,

eventuell hilft Dir schon
Delphi-Quellcode:
Application.ProcessMessages;
weiter.

dioony 7. Jul 2005 14:23

Re: antifreeze beim form erstellen
 
messagepumpe?? weiß jetzt nicht, was du meinst...

kann man da denn was anderes machen?

ein image kann ich da nicht rüberlegen, weil sich das TImage nicht über eine Scrollbox legen lässt... nur darein oder darunter...


Edit:
Delphi-Quellcode:
Application.ProcessMessages;
bewirkt auch nichts...

scp 7. Jul 2005 15:03

Re: antifreeze beim form erstellen
 
...schon, kommt nur drauf an, wo man es hinsetzt. Application.ProcessMessages muss während des ladens regelmäßig aufgerufen werden, um Wirkung zu zeigen. Z.B. nachdem du den Status in ein Label legst oder nach jedem geladenen Bild.
Threads sind natürlich die feinere Alternative.

dioony 7. Jul 2005 16:20

Re: antifreeze beim form erstellen
 
abend!

Browsepics lädt ja in einer schleife alle bilder.
Hab jetzt Application.ProcessMessages; in die schleife eingebaut, so dass sie bei jedem durchlauf immer neu aufgerufen wird.

Die Form wird nun richtig geladen!

danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 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