![]() |
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:
browspics ist eine procedure, welche die dateien lädt und verarbeitet...
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; In project1.dpr kommt die zeile
Delphi-Quellcode:
nicht vor...
Application.CreateForm(TForm3, Form3);
|
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. |
Re: antifreeze beim form erstellen
Hi,
eventuell hilft Dir schon
Delphi-Quellcode:
weiter.
Application.ProcessMessages;
|
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:
bewirkt auch nichts...
Application.ProcessMessages;
|
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. |
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