Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: Daten Kopieren mit Thread?

  Alt 27. Nov 2010, 10:01
Hallo erst mal

Kurz mal ein Hinweis zu ShFileOperation() -- wenn du also Threads nutzen willst, unbedingt absolute Pfade verwenden:
Zitat von http://msdn.microsoft.com/en-us/library/bb762164%28VS.85%29.aspx:
You should use fully-qualified path names with this function. Using it with relative path names is not thread safe.
Nun habe ich aber festgestellt, das wenn größere Datenmengen Transportiert, das er nicht weiterkomperliert bis die Datei oder Verzeichnis erfolgreich beendet wurde.
Ich glaube, du verwechselst hier was oder solltest dir darüber klar werden, was unter compilieren zu verstehen ist. Du meinst wohl, dass das Programm nicht mehr reagiert, wenn du große Dateien kopierst?!

Delphi-Quellcode:
LThread := MyThread.Create(true);
      LThread.GPfadFrom := LPfadFrom;
      LThread.GFadTo := LPfadTo;
      LThread.Suspended := False; //thread wird gestartet!!
      Application.ProcessMessages;
Irgendwie seltsamer Code Das mit den Properties kannst du so handhaben, das geht schon in Ordnung. Für das Starten des Threads gibt es doch die Methode Start() , d.h. du solltest es so machen:

Delphi-Quellcode:
LThread := MyThread.Create(true);
LThread.GPfadFrom := LPfadFrom;
LThread.GFadTo := LPfadTo;
LThread.Start(); // ab hier läuft dann der Kopierthread los
// Application.ProcessMessages; <<< das hier braucht es nicht
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat