
Делаю так:
- Код: Выделить всё
destructor TFP_Server.Destroy;
begin
...
if FileExists(FTunnel) then DeleteFile(FTunnel);
...
inherited Destroy;
end;
Модератор: Модераторы
destructor TFP_Server.Destroy;
begin
...
if FileExists(FTunnel) then DeleteFile(FTunnel);
...
inherited Destroy;
end;
Mr.Smart писал(а):Возможно Destroy не вызывается. Проверьте.
Nik писал(а):Возможно, стоит попробовать DeleteFileUTF8?
if FileExists(FTunnel) then
while not DeleteFile(FTunnel) do
sleep(100);
destructor TFP_Server.Destroy;
begin
...
fTunnel:='';
...
if FileExists(FTunnel) then begin
ShowMessage('to delete '+fTunnel);
DeleteFile(FTunnel);
end;
...
inherited Destroy;
end;
if FileExists(FTunnel) then begin
ShowMessage(FTunnel);
DeleteFile(FTunnel);
end;
while FileExists(FTunnel) do DeleteFile(FTunnel);
Sergei I. Gorelkin писал(а):Файл может не удаляться, если его открыл кто-то другой. Какую-то информацию может дать значение errno (linux) или GetLastError (windows) сразу после DeleteFile.
function FileCreateWithAssign(F: string): boolean;
var
ff: file;
begin
AssignFile(ff, F);
Rewrite(ff);
CloseFile(ff);
Result := FileExists(F);
end;
Sergei I. Gorelkin писал(а):Поэтому, если после нее нет FileClose, то все вполне объяснимо.
Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5