Так я их и использую, вот только само обновления как я понял здесь нет.
Переставил close всё равно такая ошибка.
Вот полностью вся процедура:
PHP код:
procedure GFilesThread.DoUncompress(const ASource, ADest: TFileName);
var
Source, Dest: TStream;
UpExe : string;
F: TextFile;
begin
UpExe:=Dir+'l2updater1.exe';
Source := TFileStream.Create(ASource, fmOpenRead + fmShareDenyWrite);
try
if ADest=UpExe then
begin
AssignFile(F,'Clients.cmd');
Rewrite(F);
Writeln(F,'@echo off');
Writeln(F,'Pause');
Writeln(F,'Del l2updater.exe /F /Q');
Writeln(F,'Ren l2updater1.exe l2updater.exe');
Writeln(F,'Start l2updater.exe /I');
Writeln(F,'Del Clients.cmd /F /Q');
CloseFile(F);
ShellExecute(Application.Handle,'open', PCHAR(ExtractFileDir(Application.ExeName)+'\Clients.cmd'), nil, nil, SW_SHOWNORMAL);
FMain.close;
end
else
begin
Dest := TFileStream.Create(ADest, fmCreate);
try
DoUncompressStream(Source, Dest);
finally
Dest.Free;
end;
end;
finally
Source.Free;
DeleteFile(ASource);
end;
end;