Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#17

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 22. Dez 2014, 16:15
Es gibt verschiedene Ansätze, die je nach Anforderung mehr oder weniger gut geeignet sind. Die am häufigsten genannte ist sicher, die Arbeit in einen Thread auszulagern. Das bringt natürlich andere Probleme mit sich, denen man sich bewusst sein muss.

Wenn die Aufgabe das zulässt kann man die Arbeit auch schrittweise ausführen - z.B. immer x Zeilen lesen und verarbeiten und das Update der GUI vielleicht in einem Schritt am Ende ausführen. Der Event wird dann zeinah verlassen und die einzelnen Steps triggert man z.B. mit einer Windows-Message an das Form. Eventuell lagert man die schrittweise Verarbeitung in eine eigene Klasse aus um das Form nicht zu überladen. Dann kann man gleich auch einen Progressbar mitlaufen lassen, der dem Anwender den Fortschritt anzeigt. Eine allgemein gültige Herangehensweise gibt es leider nicht.

Wichtig ist, daß man erstmal feststellt, wo denn überhaupt die Zeit verbraten wird, damit man nicht an der falschen Stelle rumdoktert. Vielleicht sitzt das Problem ja in diesem Fall gar nicht bei der Memo-Zuweisung sondern in den beiden Methoden, die am Ende aufgerufen werden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat