Hallo ,
mit folgendem Code kopiere ich innerhalb einer Schleife Dateien.
Delphi-Quellcode:
Animate1.Active:=True;
Animate1.Active:=True;
[...] Ab hier kommt die Schleife
FillChar(aSHFOS, Sizeof(aSHFOS), #0);
FillChar(szFrom, Sizeof(szFrom), #0);
FillChar(szTo, Sizeof(szTo), #0);
StrPCopy(szFrom, SourceFilename);
StrPCopy(szTo, DestFilename);
With aSHFOS do
begin
Wnd := 0;
wFunc := FO_COPY;
pFrom := @szFrom;
pTo := @szTo;
fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
fAnyOperationsAborted := False;
end;
ShFileOperation(aSHFOS);
[...]
Animate1.Active:=False;
Animate1.Active:=False;
Jetz möchte ich während dieser Zeit das aviCopyFiles AVI in TAnimate anzeigen.
Dummerweise läuft das Ding nicht los. Anstatt mit ShFileOperation habe ich es auch schon mit
API Funktion CopyFile versucht. Klappt auch nicht.
In der Hilfe steht, dass wenn die Timer property von TAnimate False ist (und das ist sie)
dass das AVI in einem eigenen Thread abgespielt wird. D.h. aber dass es eigentlich völlig egal sein
dürfte, ob das Form Rechenzeit abgibt oder nicht. Deshalb habe ich ein kleines Testprogramm
geschrieben, dass TAnimate startet und in einer Endlosschleife läuft.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Animate1.Active:=True;
While True do;
end;
Was soll ich sagen. Hier läuft das aviCopyFiles völlig problemlos.
Hat es etwa etwas mit dem Kopieren von Dateien zu tun?