AGB  ·  Datenschutz  ·  Impressum  







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

TTaskDialog in Delphi 2007

Offene Frage von "alcaeus"
Ein Thema von alcaeus · begonnen am 30. Aug 2007 · letzter Beitrag vom 5. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#1

TTaskDialog in Delphi 2007

  Alt 30. Aug 2007, 16:12
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TTaskDialog in Delphi 2007

  Alt 30. Aug 2007, 16:13
Vielleicht durch die Verwendung von Threads?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: TTaskDialog in Delphi 2007

  Alt 30. Aug 2007, 16:14
Hmm, als allerletzte Notloesung ja, aber wenns geht wuerd ich das gerne vermeiden, ist dann doch etwas overkill

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TTaskDialog in Delphi 2007

  Alt 30. Aug 2007, 16:15
Wieso TTaskdialog? Nimm deinen eigenen Dialog und zeig ihn Nicht-Modal (.Show) an.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: TTaskDialog in Delphi 2007

  Alt 30. Aug 2007, 16:25
Hallo,

siehe mein Posting zu
http://www.delphipraxis.net/internal...ight=showmodal

Damit wird der Dialog "semi-modal" geöffnet,
man kann ihn aber trotzdem noch Bearbeiten,
z.b. ein Connect machen.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: TTaskDialog in Delphi 2007

  Alt 30. Aug 2007, 16:38
Zitat von Bernhard Geyer:
Wieso TTaskdialog? Nimm deinen eigenen Dialog und zeig ihn Nicht-Modal (.Show) an.
Naja, beim TaskDialog hab ich bereits die MarqueeProgressBar, die zusaetzlichen Infos, usw. Waer schoen wenn ich auf die fertige Loesung zurueckgreifen koennte.

Zitat von hoika:
Damit wird der Dialog "semi-modal" geöffnet,
man kann ihn aber trotzdem noch Bearbeiten,
z.b. ein Connect machen.
An sich eine gute Idee, das wird mit dem TaskDialog aber leider nicht funktionieren, da dieser selbst DisableTaskWindows() ausfuehrt und sich ueber die API-Funktionen anzeigt.

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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: TTaskDialog in Delphi 2007

  Alt 30. Aug 2007, 17:17
Zitat von alcaeus:
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.
Ich geh mal stark davon aus, denn schließlich gibt der Rückgabewert an, was der User geklickt hat und in den Beispielcodes werden die Rückgabewerte unmittelbar nach dem Aufrufen der Funktion abgefragt.
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#8

Re: TTaskDialog in Delphi 2007

  Alt 30. Aug 2007, 17:27
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: TTaskDialog in Delphi 2007

  Alt 30. Aug 2007, 17:43
Hier evtl. eine Alternative:

http://www.jed-software.com/

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
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#10

Re: TTaskDialog in Delphi 2007

  Alt 24. Sep 2009, 18:28
Zitat von alcaeus:
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
Wie hast du das hinbekommen? Ich möchte nur ein Fortschrittsfenster damit bauen und da sind Threads ein wenig Overkill. Und das mit dem Schließen würde ich auch gerne wissen

Edit: Das Schließen geht mit SendMessage(TaskDialog.Handle,WM_CLOSE,0,0);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:05 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