AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TQuery:=active. dann 2 Min. Pause, wie ein Hint anzeigen?
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von juergen · begonnen am 10. Jul 2007 · letzter Beitrag vom 11. Jul 2007
Antwort Antwort
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#1

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

  Alt 10. Jul 2007, 20:57
Datenbank: Pervasive SQL • Version: 9.x • Zugriff über: ODBC
Hallo zusammen,
ich bekomme es nicht hin...
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.
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.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

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

  Alt 10. Jul 2007, 20:59
Füge mal ein Application.ProcessMessages; ein
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#3

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

  Alt 10. Jul 2007, 21:18
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?
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 11. Jul 2007, 09:33
Hallo...

ich hätte da noch eine Idee... 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ß
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 11. Jul 2007, 09:36
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#6

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

  Alt 11. Jul 2007, 18:53
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

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)
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
hoika

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

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

  Alt 11. Jul 2007, 20:01
Hallo,

helfen tut immer ein Thread.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:50 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