AGB  ·  Datenschutz  ·  Impressum  







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

OnTimer wird nicht ausgelöst

Ein Thema von Chemiker · begonnen am 27. Apr 2009 · letzter Beitrag vom 29. Apr 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#1

OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 20:21
Hallo,

Delphi-Quellcode:
procedure TfrmExcelDateiExportieren.btPivotTabelleZeigenClick(Sender: TObject);
begin
  Timer1.Enabled:= TRUE;
  frmWarnhinweis.frmWarnung.Show;
  frmWarnhinweis.frmWarnung.Refresh;
  FAbfrageClass.MSId:= '%';
  FAbfrageClass.MSErmitteln;
  Timer1.Enabled:= FALSE;
  frmWarnhinweis.frmWarnung.close;
end;
Mit dieser Procedure wird ein Form mit einer Gauge dargestellt. Gauge .Progress soll dann über einen Timer weitergestellt werden.

Delphi-Quellcode:
procedure TfrmExcelDateiExportieren.Timer1Timer(Sender: TObject);
begin
  frmWarnhinweis.frmWarnung.Gauge1.Progress:= frmWarnhinweis.frmWarnung.Gauge1.Progress+10;
  frmWarnhinweis.frmWarnung.Refresh;
end;
Leider wird das OnTimer-Ereignis aber nicht ausgelöst.

Wie kann man das ändern?

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

Re: OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 20:27
Blockiert irgendeine der Anweisungen in 'TfrmExcelDateiExportieren.btPivotTabelleZeigenCli ck' denn deine Anwendung? Wenn nicht, dann ist der Fehler ja gefunden, da du gleich anschließend den Timer ja wieder deaktivierst. Wenn doch, dann ist der Fehler eigentlich auch gefunden. *g* Solange der Hauptthread der Anwendung blockiert ist, wird auch der Timer nicht funktionieren. Das wäre dann ein Fall für Hier im Forum suchenThreading.

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#3

Re: OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 20:35
Vielleicht hilft ja auch einapplication.ProcessMessages an der richtigen Stelle der ersten Prozedur.
Mario
'Lesen Sie schnell, denn nichts ist beständiger als der Wandel im Internet!'
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 20:40
Hallo,

@Valle:
mit FAbfrageClass.MSErmitteln wird eine Datenbankabfrage durchgeführt und weil das solange dauert, sollte ein Formular einen Warnhinweis ausgeben und Gauge weiter gezählt werden.

@Hobby-Programmierer:
mehre Stellen probiert, leider kein Effekt.


Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#5

Re: OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 20:43
Dann brauchst du Threading. Die Datenbankabfrage wird deine Anwendung komplett blockieren, was auch den Aufruf eines Timers unmöglich macht. Du kannst nun entweder das Warte-Fenster in einen Thread auslagern (würde ich aber nicht machen), müsstest dann aber schauen, dass du keine Probleme mit der VLC bekommst, da sie nicht threadsicher ist. Ansonsten würde ich empfehlen, die Datenbankabfrage in einen Thread auszulagern. Dabei solltest du dich unbedingt noch informieren, ob deine Datenbank überhaupt threadsicher ist. Dabei kann ich dir aber leider nicht helfen; ich kann kein Delphi. 8)

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#6

Re: OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 20:48
Ist das Timer-Event mit dem Timer verbunden? Ist der Interval zu gross gewählt, sprich : ist die Datenspeicherung schneller wie der Interval?
Mario
'Lesen Sie schnell, denn nichts ist beständiger als der Wandel im Internet!'
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#7

Re: OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 20:59
Zitat von Hobby-Programmierer:
Ist das Timer-Event mit dem Timer verbunden? Ist der Interval zu gross gewählt, sprich : ist die Datenspeicherung schneller wie der Interval?
... ...

Es funktioniert nicht! Der Timer wird nicht aufgerufen in der Zeit, da hilft jedes ProcessMessages
nichts. Kleines Beispiel im Anhang; zusammengeschustert aus dem, was ich noch kann.

Mit freundlichen Grüßen,

Valle
Angehängte Dateien
Dateityp: zip timerblock_131.zip (195,4 KB, 3x aufgerufen)
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 21:14
Hallo,

Zitat von valle :
Dabei kann ich dir aber leider nicht helfen; ich kann kein Delphi.
Wie?

@Hobby-Programmierer: der Timer ist richtig mit dem OnTimer-Event verbunden, mit verschiedenen Intervallen versucht, kein Ergebnis.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#9

Re: OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 21:18
Zitat von Chemiker:
Wie?

Ich habe mal vor einigen Jahren in einer AG in der Schule Delphi gelernt. Da ich aber recht schnell an unserem Lehrer vorbei war und mich auch eher für andere Sprachen interessierte, verlor ich Delphi schnell aus dem Auge und habe es jetzt schon ewig nicht mehr produktiv eingesetzt. Ich kann eben nur noch minimales Zeug in Delphi. Jetzt liegt mein Fokus auf Python und PHP, ab- und zu mal C++.

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von bigben37
bigben37

Registriert seit: 19. Dez 2007
Ort: Freiburg
116 Beiträge
 
Delphi 2009 Professional
 
#10

Re: OnTimer wird nicht ausgelöst

  Alt 27. Apr 2009, 21:26
delay ist dein Freund. Damit werden andere Prozesse weiterhin verarbeitet.
Benjamin
Optimismus ist nur ein Mangel an Information
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 20:20 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