Servis kreira thread u kom se sve radi. Nakon što se file kopira, thread se uništava.
U proceduri:
procedure tNewThread_1.Execute;
begin
...
if CopyFileFromServer then
if DeleteFile(LocalFileName) then
RenameFile(TempFileName, LocalFileName);
...
end;
Funkcija za kopiranje file-a:
Function tNewThread_1.CopyFileFormServer: boolean;
begin
result := true;
with TDownloadURL.Create(nil) do
try
URL:='http://' + fUpdateFile;
FileName := TemFileName;
ExecuteTarget(nil) ;
Free;
except
result := false;
Free;
end;
end;
Nakon ovoga file mi je lock-an, tj. ne mogu ga obrisati bez restarta stroja. Pri pokušaju brisanja javlja mi sljedeću poruku:
"You need permission to perform this action"
Brisanje nije dozvoljeno niti nakon deinstall-a servisa koji je kopirao file.
Odgonetnuo sam dio:
u Permissions-ima dodam user-a pod kojim radim. Nakon toga dozvoli brisanje, ali javi poruku:
"The action can't bi completed because file is open in another program"
1. Kako uprediti permissions-e pri kopiranje?
2. Što drži program? Sevice je ugašen..
[Ovu poruku je menjao franjo_tahi dana 02.12.2009. u 11:21 GMT+1]
[Ovu poruku je menjao franjo_tahi dana 02.12.2009. u 11:22 GMT+1]