![]() |
Form ansprechen während einer Bearbeitung
Ich möchte ein Fenster haben, wie Delphi beim Compilieren.
Ich habe eine Berechnung, die ca. 2 Minuten dauert, dabei soll ein Fenster den Status mit einem Progressbar anzeigen, ein Button soll zum Abbrechen sein und das Fenster soll verschiebbar sein. Das Fenster, welches ich vor der Berechnung aufrufe, friert aber ein. Erst nach der Berechnung ist es wieder ansprechbar. Wie kann ich soetwas gestalten? |
AW: Form ansprechen während einer Bearbeitung
Du musst die Berechnungsfunktion in ein extra Thread auslagern.
Alternativ, als schlechten Turn-Around, könntest du Application.ProcessMessages benutzen (In einer Schleife zb). Zeig doch mal deine Berechnungsfunktion. |
AW: Form ansprechen während einer Bearbeitung
Zitat:
Aber eigentlich ist es eine for-Schleife mit 4-5 Verzweigungen in Unterberechnungen die jeweils ca 100ms dauern. Gesucht habe ich wohl dies "Application.ProcessMessages", was ich schon mal aufgegriffen hatte, aber im Lauf der Zeit vergessen habe. Das mit den Thread hatte ich mir schon überlegt, aber ich habe bis jetzt damit noch nicht gearbeitet. Vielleich guck ich mir das jetzt mal an. Problem ist aber auch, dass während der Berechnungen nur dieser Abbuch-Button betätigt werden darf. Andere Eingaben dürfen nicht getätigt werden, da das sonst in die Berechnung eingehen könnte. |
AW: Form ansprechen während einer Bearbeitung
Zitat:
|
AW: Form ansprechen während einer Bearbeitung
Zitat:
Hatte eben gerade versucht ganz simpel das Fenster zu disablen, aber dann friert es ein. |
AW: Form ansprechen während einer Bearbeitung
Pack die Controls außer dem Abbrechen-Button auf ein Panel und disable dann das.
|
AW: Form ansprechen während einer Bearbeitung
Zitat:
Es würde mich wundern, wenn deine Bearbeitung nicht schneller werden würde, wenn du das stärker trennst. |
AW: Form ansprechen während einer Bearbeitung
Das hoffe ich doch nicht, aber irgendwelche Schaltflächen könnten schon dazu führen, dass man plötzlich mit falschen Werten rechnet.
|
AW: Form ansprechen während einer Bearbeitung
Zitat:
|
AW: Form ansprechen während einer Bearbeitung
Dann übergib die Werte der GUI nur in den Buttons, welche die aktion starten.
Ist dieser Button dann gesperrt, dann hat eine Änderung des GUI--Inhalts keine Auswirkung, bzw. nutze für die Berechnung jeweils eine Kopie der Werte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 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