Copy file function i dll
HejEfter lidt hjælpe her fra i spm http://www.eksperten.dk/spm/834566 fik vi vores copy function til at virke perfekt, men efter vi er gået lidt videre og har lagt den i en dll er der opstået nye problemer
Der kommer ingen fejl men kopierer ikke filen, den laver en "kopi" af filen på 0-1 kb
Håber der er nogen der kan hjælpe
Copy funktionen
AssignFile(FromF, fSource);
reset(FromF);
AssignFile(ToF, fDestination);
rewrite(ToF);
try
fFileLength := FileSize(FromF);
Synchronize(InitializeProgress);
t1 := GetTickCount; t3 := t1;
while fPosition < fFileLength do
begin
BlockRead(FromF, Buffer[0], SizeOf(TBuffer), NumRead);
BlockWrite(ToF, Buffer[0], NumRead);
inc(fPosition,NumRead);
t2 := GetTickCount;
if (t2 - t3 > 500) or (fPosition = fFileLength) then
begin
PctDone := fPosition / fFileLength;
Delta := t2 - t1;
ETA := Delta / PctDone - Delta;
fTimeLeftText := FormatFloat('00ms', ETA);
t3 := t2;
Synchronize(UpdateProgress);
end;
end;
finally
CloseFile(FromF);
CloseFile(ToF);
Synchronize(FinalizeProgress);
end;
den bliver kaldt fra ddl’en på denne måde
with TThreadCopy.Create(aProgressBar,aLabel) do
begin
Source := string(aSourceFile);
Destination := string(aDestinationFile);
resume;
end;
hvis i har brug for mere kode så sig til
/MB