![]() |
Programm beim Errorhandler anhalten
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 |
Re: Programm beim Errorhandler anhalten
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. |
Re: Programm beim Errorhandler anhalten
Ich habe eine Form erzeugt und die mit ShowModal angezeigt!
|
Re: Programm beim Errorhandler anhalten
Tut mir ja Leid, aber aus TCustomForm.ShowModal:
Delphi-Quellcode:
Eine nette Schleife, welche die anstehenden Nachrichten abarbeitet, solange das Formular aktiv ist.
...
repeat Application.HandleMessage; if Application.FTerminate then ModalResult := mrCancel else if ModalResult <> 0 then CloseModal; until ModalResult <> 0; ... Wende dich lieber direkt an die WinAPI ... nur da kannst du wohl (mit vertrettbarem Aufwand) sichergehen, daß sowas nicht passiert. |
Re: Programm beim Errorhandler anhalten
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. |
Re: Programm beim Errorhandler anhalten
hmm, ich bekomme es irgendwie nicht hin.
entweder das program zeigt gar nix an, oder die timer laufen :-( |
Re: Programm beim Errorhandler anhalten
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.
|
Re: Programm beim Errorhandler anhalten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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