![]() |
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: ![]() Danke im Voraus ! :wink: |
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. |
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: |
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. ;-)
|
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:
Thread ausführen/starten
interface
uses classes; type TMyOwnThread = class(TThread) protected procedure Execute; override; end; implementation procedure TMyOwnThread.Execute; begin // Führe hier irgendwelche Berechnungen aus. end;
Delphi-Quellcode:
Thread := TMyOwnThread.Create(True);
Thread.Resume; |
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