![]() |
TTaskDialog in Delphi 2007
Hallo,
ich will einen TTaskDialog mit ProgressBar anzeigen, waehrend ich versuche eine Datenbank-Verbindung aufzubauen. Leider ist der Dialog modal, d.h. ich kann nicht einfach Execute() ausfuehren und in der Zwischenzeit die DB-Verbindung herstellen. Andererseits kann ich aber auch nicht die DB-Verbindung aufbauen und anschliessend den Dialog anzeigen, das waere ja irgendwie sinnbefreit. Weiss jemand vielleicht, wie ich einen nicht-modalen TaskDialog anzeigen kann, der da ist waehrend die DB-Verbindung aufgebaut wird? Greetz alcaeus |
Re: TTaskDialog in Delphi 2007
Vielleicht durch die Verwendung von Threads?
|
Re: TTaskDialog in Delphi 2007
Hmm, als allerletzte Notloesung ja, aber wenns geht wuerd ich das gerne vermeiden, ist dann doch etwas overkill :oops:
Greetz alcaeus |
Re: TTaskDialog in Delphi 2007
Wieso TTaskdialog? Nimm deinen eigenen Dialog und zeig ihn Nicht-Modal (.Show) an.
|
Re: TTaskDialog in Delphi 2007
Hallo,
siehe mein Posting zu ![]() Damit wird der Dialog "semi-modal" geöffnet, man kann ihn aber trotzdem noch Bearbeiten, z.b. ein Connect machen. Heiko |
Re: TTaskDialog in Delphi 2007
Zitat:
Zitat:
BTW, weiss jemand ob der TaskDialog auch unter direkter Verwendung der API-Funktionen modal ist? In dem Fall wuerde ich einfach die entsprechenden API-Funktionen fuer den Aufruf verwenden. Greetz alcaeus |
Re: TTaskDialog in Delphi 2007
Zitat:
|
Re: TTaskDialog in Delphi 2007
Ok, also doch Threads.
Ich habs mittlerweile auch hingekriegt, was zu machen waehrend der Dialog angezeigt wird. Allerdings krieg ichs nicht gebacken, den Dialog zu schliessen sobald die Arbeit beendet ist. Ich kann notfalls auch anzeigen, dass die Verbindung erfolgreich war, aber mir waer lieber wenn ich das anders loesen koennte :-? TaskDialog.Buttons ist leider leer, den Button von Hand anzuklicken waer meine erste Idee gewesen :( Greetz alcaeus |
Re: TTaskDialog in Delphi 2007
Hier evtl. eine Alternative:
![]() Dort findest du den TJSDialog, der den Taskdialog nachbildet und noch etwas mehr kann. Unter anderem Funktioniert er nicht nur unter Vista, sondern auf allen Systemen :) |
Re: TTaskDialog in Delphi 2007
Zitat:
Edit: Das Schließen geht mit
Delphi-Quellcode:
SendMessage(TaskDialog.Handle,WM_CLOSE,0,0);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 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 by Thomas Breitkreuz