AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Lange Rechnung, ohne dass das Programm "blockiert"
Thema durchsuchen
Ansicht
Themen-Optionen

Lange Rechnung, ohne dass das Programm "blockiert"

Ein Thema von Nicolai1234 · begonnen am 9. Dez 2004 · letzter Beitrag vom 10. Dez 2004
Antwort Antwort
roderich
(Gast)

n/a Beiträge
 
#1

Re: Lange Rechnung, ohne dass das Programm "blockiert&a

  Alt 9. Dez 2004, 17:32
Auch wenn dies immer wieder als Lösung dieser Ploblematik vorgeschlagen wird:
ein schlichtes Aufrufen von Application.ProcessMessages z.B. in einer Schleife ist nicht risikolos.
Leicht nachvollziehbar durch Drücken von Alt+F4 während einer solchen Berechnung -> oft Absturz.

Bei Ausführung von Application.ProcessMessages werden die bis dahin "angesammelten" Messages abgearbeitet. Wenn z.B. der Menuepunkt, über den die Berechnung gestartet wurde, nicht sofort gesperrt wurde, wird der Code beim nächsten Klick darauf während der Berechnung quasi ein 2. Mal gestartet. Jeder Zugriff auf globale Variablen oder Instanzen (z.B. dein Hauptformular) kann dann in die Hose gehen.

Daher setze ich Application.ProcessMessages sparsam ein und wenn doch, sperre ich gerne mein ganzes Formular oder zumindest einige Controls (außer z.B. einem Abort-Knopf).

Roderich
  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 02:46 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