AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Form ansprechen während einer Bearbeitung

Ein Thema von Jens01 · begonnen am 11. Aug 2011 · letzter Beitrag vom 12. Aug 2011
Antwort Antwort
Seite 1 von 3  1 23   
Jens01

Registriert seit: 14. Apr 2009
654 Beiträge
 
#1

Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 14:53
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?
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#2

AW: Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 14:56
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.
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
654 Beiträge
 
#3

AW: Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 15:22
Zitat:
Zeig doch mal deine Berechnungsfunktion.
Würde ich gerne zeigen, wenn es nicht etwas umständlich wäre.
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.

Geändert von Jens01 (11. Aug 2011 um 15:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 15:36
Andere Eingaben dürfen nicht getätigt werden, da das sonst in die Berechnung eingehen könnte.
Alles außer dem Button disablen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
654 Beiträge
 
#5

AW: Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 15:42
Zitat:
Alles außer dem Button disablen.
Den Gedankengang hatte ich eben auch. Dann muß aber jedes Controll einzeln gedisabled werden. Ganz schön viel.
Hatte eben gerade versucht ganz simpel das Fenster zu disablen, aber dann friert es ein.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.459 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 15:47
Pack die Controls außer dem Abbrechen-Button auf ein Panel und disable dann das.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#7

AW: Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 15:54
Andere Eingaben dürfen nicht getätigt werden, da das sonst in die Berechnung eingehen könnte.
Soll das heißen du liest innerhalb der Schleifen Daten aus der GUI (mit String-Konverierung)?
Es würde mich wundern, wenn deine Bearbeitung nicht schneller werden würde, wenn du das stärker trennst.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.459 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 15:56
Das hoffe ich doch nicht, aber irgendwelche Schaltflächen könnten schon dazu führen, dass man plötzlich mit falschen Werten rechnet.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
654 Beiträge
 
#9

AW: Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 16:06
Zitat:
Soll das heißen du liest innerhalb der Schleifen Daten aus der GUI (mit String-Konverierung)?
Nein, aber bei (z.B.) einem Edit wird nach der Eingabe das Datum sofort in das Feld/Variable geschrieben, die dann während der Berechnung angesprochen werden könnte.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.504 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Form ansprechen während einer Bearbeitung

  Alt 11. Aug 2011, 16:17
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf