AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Programm beim Errorhandler anhalten
Thema durchsuchen
Ansicht
Themen-Optionen

Programm beim Errorhandler anhalten

Ein Thema von backdraft · begonnen am 8. Jun 2006 · letzter Beitrag vom 12. Jun 2006
Antwort Antwort
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#1

Programm beim Errorhandler anhalten

  Alt 8. Jun 2006, 13:03
Hallo zusammen,

ich habe einen Errorhandler programmiert, der sich meldet, wenn ein Fehler auftritt.

Jetzt habe ich das Problem, das alle Timer weiter laufen. Dabei kann es mir passieren, dass die Fehler immer wieder kommen.

Wie kann ich das Programm in einen Zustand bringen, das das Programm nichts mehr macht ausser auf meinen OK Button zu warten?

Oliver
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Programm beim Errorhandler anhalten

  Alt 8. Jun 2006, 13:20
Hast du eine "normale MessageBox verwendet?
Diese behandelt anscheinend irrgendwie die Windowsnachrichten des Hauptthreads, wärend gewartet wird ... du mußt also estwas anderes verwenden, was diese WindowsBotschaften nicht behandelt.

Solange keine botschaften behandelt werden, bleiben auch alle Timer stehen (sobald ihre Zeit abgelaufen ist), denn das Timerereignis wird über Botschaften abgearbeitet.
$2B or not $2B
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Programm beim Errorhandler anhalten

  Alt 8. Jun 2006, 14:24
Ich habe eine Form erzeugt und die mit ShowModal angezeigt!
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Programm beim Errorhandler anhalten

  Alt 8. Jun 2006, 15:09
Tut mir ja Leid, aber aus TCustomForm.ShowModal:
Delphi-Quellcode:
...
repeat
  Application.HandleMessage;
  if Application.FTerminate then ModalResult := mrCancel else
    if ModalResult <> 0 then CloseModal;
until ModalResult <> 0;
...
Eine nette Schleife, welche die anstehenden Nachrichten abarbeitet, solange das Formular aktiv ist.

Wende dich lieber direkt an die WinAPI ... nur da kannst du wohl (mit vertrettbarem Aufwand) sichergehen, daß sowas nicht passiert.
$2B or not $2B
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Programm beim Errorhandler anhalten

  Alt 8. Jun 2006, 15:40
lol, so hab ich mir das noch ghar nicht angeschaut... hmmm, macht schon sinn, das er dann das tut, was er tut. ich probier mal ... hehe
danke für den tip.
Oliver
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Programm beim Errorhandler anhalten

  Alt 12. Jun 2006, 13:55
hmm, ich bekomme es irgendwie nicht hin.
entweder das program zeigt gar nix an, oder die timer laufen
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Programm beim Errorhandler anhalten

  Alt 12. Jun 2006, 15:14
ist logich, denn zum Anzeigen deines Dialoges müssen ja auch Paint-Message abgearbeitet werden. Du könntest ein weiteres Programm starten welches die Fehlernachricht anzeigt und auf die Beendigung dieses Programmes warten.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

Re: Programm beim Errorhandler anhalten

  Alt 12. Jun 2006, 15:31
Zitat von SirThornberry:
ist logich, denn zum Anzeigen deines Dialoges müssen ja auch Paint-Message abgearbeitet werden. Du könntest ein weiteres Programm starten welches die Fehlernachricht anzeigt und auf die Beendigung dieses Programmes warten.
Also für den Dialog selber wird es nomalerweise/oft nicht benöigt, da die Anzeige des Dialogs von der WinAPI übernommen wird, aber Fenster hinterm Dialog (z.B. die HauptForm) können eventuell was draufhaben, welches die WindowsMessages für's Anzeigen benötigt.
$2B or not $2B
  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 23:59 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