AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OpenDialog - Relikt in *.pgn-Tool

Ein Thema von wendelin · begonnen am 21. Dez 2014 · letzter Beitrag vom 23. Dez 2014
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

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

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 22. Dez 2014, 15: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
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 23. Dez 2014, 09:48
Hallo,

danke für Eure Erklärungen bez. Application Process.. u.s.w.
Wäre für mich sowieso nicht in Frage gekommen, da ich damit nur schlechte Erfahrungen gemacht habe.
Außerdem macht es die entsprechenden Procs. deutlich langsamer.
Zu meiner ursprünglichen Frage : Vielleicht gibt es ja in der API eine Möglichkeit vor oder auch nach dem Öffnen eines Open/Save-
Dialog - Fenster's dieses so zu verschieben, daß es NICHT das Main-Window überdeckt ? (Kann man natürlich auch manuell machen, wär
aber eleganter).

Frohe Weihnachten, Wendelin
Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.232 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: OpenDialog - Relikt in *.pgn-Tool

  Alt 23. Dez 2014, 10:07
Zu meiner ursprünglichen Frage : Vielleicht gibt es ja in der API eine Möglichkeit vor oder auch nach dem Öffnen eines Open/Save-
Dialog - Fenster's dieses so zu verschieben, daß es NICHT das Main-Window überdeckt ? (Kann man natürlich auch manuell machen, wär
aber eleganter).
Da gibt es keine offizielle API (Jedenfalls keine Einfache - Man kann sich naturlich das Fensterhandle geben lassen und mit SetWindowPos es umschieben). Und wohin willst du es verschieben wenn diene Anwendung z.B. im Vollbild läuft?
Das Problem ist doch ganz einfach das das entsprechende Fensterteil keine Möglichkeit hat sich neu zu zeichnen.

Statt Application.Processmessages wäre u.U. ein Update/Repaint/Refresch-Aufruf hilfreich.
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 16:03 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