Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery:=active. dann 2 Min. Pause, wie ein Hint anzeigen? (https://www.delphipraxis.net/95636-tquery-%3Dactive-dann-2-min-pause-wie-ein-hint-anzeigen.html)

juergen 10. Jul 2007 19:57

Datenbank: Pervasive SQL • Version: 9.x • Zugriff über: ODBC

TQuery:=active. dann 2 Min. Pause, wie ein Hint anzeigen?
 
Hallo zusammen,
ich bekomme es nicht hin... :oops:
Ich "spreche" im OnCreate der Mainform ein Query an...
Die Anwendung wird nur in die TNA geladen!

Sowie das TQuery dann auf active gesetzt ist, dauert es über 1 Minuten, bis anschließend Query1.FindFirst weiter ausgeführt wird.
Nun möchte ich von Anbeginn einen Hint anzeigen...
Dieser Hint wird erst NACHDEM Query1.Active := true ausgeführt wurde, aufgerufen...(1 Minuten Wartezeit also...)
Wenn ich aber vorher ein showMessage erzeuge, funktioniert es, der Hint wird auch von Anbeginn angezeigt. :gruebel:
Ich möchte aber natürlich kein Meldungsfenster erzeugen.
Delphi-Quellcode:
 
...
    Query1.DatabaseName := xyz;
    Query1.SQL.add(SQL);
    //showmessage ('blupp'); <- wenn aktiviert, dann wird auch mein Hint von Anbeginn angezeigt...
    Query1.Active := true; //<- an dieser Stelle geht diem CPU-Last ziemlich hoch und es dauert ca 2 Minuten
    Query1.FindFirst;
...
Ich hoffe es ist halbwegs verständlich und mir lässt sich noch auf die Sprünge helfen und es gibt einen verwertbaren Hinweis für mich. :zwinker:

mkinzler 10. Jul 2007 19:59

Re: TQuery:=active. dann 2 Min. Pause, wie ein Hint anzeigen
 
Füge mal ein Application.ProcessMessages; ein

juergen 10. Jul 2007 20:18

Re: TQuery:=active. dann 2 Min. Pause, wie ein Hint anzeigen
 
Leider kein Erfolg.
Ich hatte das auch schon probiert, auch ein Sleep, usw...

Ich frage mich nur, was löst denn ein ShowMessage aus, dass in Folge der Hint angezeigt werden kann?

haentschman 11. Jul 2007 08:33

Re: TQuery:=active. dann 2 Min. Pause, wie ein Hint anzeigen
 
Hallo...

ich hätte da noch eine Idee... :roll: bezüglich der Wartezeit (ungewöhnlich)

Überprüfe mal einfach die SQL- Anweisung. Ich hatte mal einen Vergleich in einer Anweisung vergessen und die Ergebnismenge war so groß, das die gesamte Anwendung mehrere Minuten blockiert war und einige
Files auf der Platte ausgelagert wurden.

Gruß :hi:

DeddyH 11. Jul 2007 08:36

Re: TQuery:=active. dann 2 Min. Pause, wie ein Hint anzeigen
 
Mir scheint auch, hier wird versucht, an den Symptomen herumzudoktern, anstatt die Ursachen herauszufinden. Ohne Kenntniss der DB-Struktur und der Abfrage ist das allerdings rein spekulativ.

juergen 11. Jul 2007 17:53

Re: TQuery:=active. dann 2 Min. Pause, wie ein Hint anzeigen
 
Hallo zusammen,
ok, die Ergebnismengen sind nicht klein.
Das eigentliche Problem ist IMHO von dem aktivieren der Query losgelöst, oder? (eher ist es ein Problem der nicht vorhandenen Form, weil diese in die TNA geladen wird)

Mir geht es eben darum, die nicht zu ändernde Wartezeit (weil halt größere Datenmengen) mit einem Hint anzuzeigen, weil ansonsten der Anwender denken könnte, dass die Anwendung abgestürzt wäre (allzumal die Anwendung auch ziemliche Auslastung bringt).
Das Aufrufen des Hints mache ich VOR dem aktivieren der Query.

Wenn ich die Form anzeige, wird auch der Hint angezeigt.
Wenn ich die Anwendung direkt in die TNA starte, wird der Hint nicht angezeigt.
Wenn ich die Anwendung direkt in die TNA starte, dann aber einen Message Dialog vor dem anzeigen des Hints bringe, wird der Hint auch angezeigt :gruebel:

Habe jetzt schon überlegt dann generell diesen Message Dialog zu bringen und diesen nach einigen Sekunden selbst zu bestätigen (über Timer?)...(das passende "Un"- Wort wäre hier natürlich -> Workaround)

hoika 11. Jul 2007 19:01

Re: TQuery:=active. dann 2 Min. Pause, wie ein Hint anzeigen
 
Hallo,

helfen tut immer ein Thread.


Heiko


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