Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   Programm/Formular reagiert nicht während Datei kopieren (https://www.delphipraxis.net/182731-programm-formular-reagiert-nicht-waehrend-datei-kopieren.html)

Julian M. 13. Nov 2014 14:07

Programm/Formular reagiert nicht während Datei kopieren
 
Hallo,

ich möchte ein Programm schreiben, welches Dateien/Verzeichnisse in einer Liste nacheinander kopiert.
Die Liste (geführt in Form einer Listbox) soll sich während kopiert wird, beliebig erweitern lassen. Da kommt mein Problem: So lange kopiert wird, kann man auf dem Formular nichts klicken. Das ist besonders bei großen Dateien inakzeptabel.

kennt Jemand eine Lösung ?
Mir würde jetzt höchstens einfallen, die listbox in eine .txt zu exportieren und ein zweites Programm im Hintergrund kopieren zu lassen -> Finde ich aber sehr unschön

Ich benutze derzeit zum Kopieren dieses Funktion:
http://www.delphipraxis.net/107218-v...-kopieren.html

Danke im Voraus ! :wink:

Daniel 13. Nov 2014 14:26

AW: Programm/Formular reagiert nicht während Datei kopieren
 
Mit dem Stichwort "Hintergrund" bist Du schon grob richtig.
Du müsstest die Kopiererei in einen Thread auslagern. Dann bliebe Dein Formular ansprechbar.

Julian M. 13. Nov 2014 14:29

AW: Programm/Formular reagiert nicht während Datei kopieren
 
Danke, irgendwie fiel es mir jetzt auch ein :-D
Habe mich nur mit Threads bisher noch nicht beschäftigt (bzw. wo es geht vermieden)

Ist ja wohl nicht ganz soo einfach das Thema. Aber ich werde mich mal ran setzen.:thumb:

Falls es noch eine andere Lösung gibt, immer her damit :stupid:

Daniel 13. Nov 2014 14:36

AW: Programm/Formular reagiert nicht während Datei kopieren
 
Du hast ein - wie ich finde - vereinfachtes Szenario, da Du im einfachsten Fall eine Liste von oben nach unten abarbeitest. Fange mit einem Thread an und lass den jeweils eine Datei kopieren. Die Lösung hat gewiss Potential zur Optimierung, aber dafür solltest Du da so gut wie jedes Delphi TThread-Tutorial anwenden können. Wenn Du den Einstieg erstmal hast, kommt der Rest nach und nach schon. ;-)

Julian M. 13. Nov 2014 15:26

AW: Programm/Formular reagiert nicht während Datei kopieren
 
Danke, und schon ist mein Problem mittlerweile gelöst !!! War ja wirklich nicht allzu schwer. :]
Wirklich toll wie schnell man hier eine freundliche und kompetente Antwort bekommt!

Das hier hat mir sehr geholfen bzw. ist die Lösung für einen einfachen Thread

Delphi-Quellcode:
interface
 
uses
  classes;
 
type
  TMyOwnThread = class(TThread)
  protected
    procedure Execute; override;
  end;
 
implementation
 
procedure TMyOwnThread.Execute;
begin
  // Führe hier irgendwelche Berechnungen aus.
end;
Thread ausführen/starten
Delphi-Quellcode:
 Thread := TMyOwnThread.Create(True);
 Thread.Resume;

Mavarik 13. Nov 2014 16:06

AW: Programm/Formular reagiert nicht während Datei kopieren
 
Oder du nutz die Shellcopy Funktion und startest eine Task von Windows...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 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