Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi OpenDialog - Relikt in *.pgn-Tool (https://www.delphipraxis.net/183224-opendialog-relikt-%2A-pgn-tool.html)

wendelin 21. Dez 2014 10:12

OpenDialog - Relikt in *.pgn-Tool
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
mein Problemchen ist der Umstand, daß NACH (während) dem (des) LADEN(s) einer *.pgn-Datei (= TextDatei)
bis zur Abarbeitung der Proc. je nach Größe der zu ladenden Datei ein Relikt des
OpenDialog - Windows auf dem Main-Window verbleibt. Siehe Bilder ! Sowas stört einfach !

Wie kann ich das unterbinden ?

für Eure Antworten bin ich dankbar.

Wendelin

mm1256 21. Dez 2014 10:42

AW: OpenDialog - Relikt in *.pgn-Tool
 
Application.ProcessMessages ??

Uwe Raabe 21. Dez 2014 10:58

AW: OpenDialog - Relikt in *.pgn-Tool
 
Zitat:

Zitat von mm1256 (Beitrag 1284268)
Application.ProcessMessages ??

Er hat Jehova gesagt :shock:

mm1256 21. Dez 2014 11:02

AW: OpenDialog - Relikt in *.pgn-Tool
 
"Jehova" versteh ich jetzt nicht. Liegt's daran, dass ich erst aufgestanden bin?

mjustin 21. Dez 2014 11:14

AW: OpenDialog - Relikt in *.pgn-Tool
 
Zitat:

Zitat von wendelin (Beitrag 1284265)

Wie kann ich das unterbinden ?

Ich würde den lang laufenden Prozess in einem Thread ausführen. Der Hauptthread startet den Thread, danach wird die Kontrolle sofort an die VCL zurückgegeben und dadurch auch die Bildschirmdarstellung aktualisiert.

himitsu 21. Dez 2014 12:27

AW: OpenDialog - Relikt in *.pgn-Tool
 
Zitat:

Zitat von mm1256 (Beitrag 1284272)
"Jehova"

Zwischen dem Öffnendialog und dem Laden der Datei dem Programm/Windows die Chance geben sich neu zu zeichnen. :zwinker:

Oder die andere genannte Alternative, also das Laden in den Hintergrund legen und die VCL sofort wieder um sich selber kümmern zu lassen.

Uwe Raabe 21. Dez 2014 13:22

AW: OpenDialog - Relikt in *.pgn-Tool
 
Zitat:

Zitat von mm1256 (Beitrag 1284272)
"Jehova" versteh ich jetzt nicht. Liegt's daran, dass ich erst aufgestanden bin?

Vielleicht bin ich auch einfach nur zu alt: Er hat Jehova gesagt!

wendelin 21. Dez 2014 16:15

AW: OpenDialog - Relikt in *.pgn-Tool
 
Hallo, vielen Dank für Eure Antworten.

Allerdings habe ich noch nie mit Thread's gearbeitet.
Vielleicht kann mir jemand mit Hilfe von Delphi-Code (Pseudo-Code) an Hand eines Beispiels
die Vorgehensweise erklären.

Danke Wendelin

mein Code

Delphi-Quellcode:
procedure TMyPGN.SpeedButton7Click(Sender: TObject);
VAR
  MyFileName,PathName,LeerZ  : String;
  Zahl_ENDE                  : Integer;
begin
  LeerZ := '';
(* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *)
  OpenDialog2.FileName  := g_ArbeitsVerz ;
(* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *)
  OpenDialog2.InitialDir := g_ArbeitsVerz ;
  PathName              := g_ArbeitsVerz ;
  MyFileName            := 'Ihre Eingabe';
  OpenDialog1.FileName  := PathName + MyFileName;
  if OpenDialog1.Execute then
  begin
    Memo1.Clear;
    MyStringListA.LoadFromFile(OpenDialog1.FileName);
  end;
  Memo1.Lines.Text := MyStringListA.Text;
  If Trim(MyStringListA.Strings[0]) <> '' then // ev. Leerzeile am Anfang !!
  begin                                        // einfügen
    Memo1.Clear;
    MyStringListA.Insert(0,LeerZ);
    Memo1.Lines.Text := MyStringListA.Text;
  end;
  Zahl_ENDE := MyStringListA.Count;
  If Trim(MyStringListA.Strings[Zahl_ENDE - 1]) <> '' then
  begin                                        // ev. Leerzeile am ENDE !!
    Memo1.Clear;                               // einfügen
    MyStringListA.Insert(Zahl_ENDE,LeerZ);
    Memo1.Lines.Text := MyStringListA.Text;
  end;
  Panel5.Caption := 'Zeilen :' + IntToStr(Memo1.Lines.Count); // Zahl der Zeilen anzeigen
  AusgabeAnzahlPartienAlt;
  Gewinn_Verlust_Remis_NEU;

dGeek 21. Dez 2014 16:38

AW: OpenDialog - Relikt in *.pgn-Tool
 
Hier sind vier Möglichkeiten erklärt, einen Thread zu erzeugen.
Ich bevorzuge ganz klar die "The Delphi Way" Methode.

http://www.thedelphigeek.com/2012/02...un-5-four.html

mm1256 21. Dez 2014 19:05

AW: OpenDialog - Relikt in *.pgn-Tool
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1284288)
Zitat:

Zitat von mm1256 (Beitrag 1284272)
"Jehova" versteh ich jetzt nicht. Liegt's daran, dass ich erst aufgestanden bin?

Vielleicht bin ich auch einfach nur zu alt: Er hat Jehova gesagt!

Danke Uwe, du bist so gut zu mir :thumb: (kein Sarkasmus, ich mein das ernst!)

Wenn ich mir den obigen Code so anschaue, würde da nicht vielleicht ein BeginUpdate und ein EndUpdate schon viel bringen? Und dazu natürlich noch das, was man(n) nicht ausspricht ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:26 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz