Вниз
Скачать: CL | DM;

Как проверить что файл уже открыт?   Найти похожие ветки 

 
BorlandC ©   (2005-10-18 14:29) [0]

Хочу перезаписать *.doc файл из Delphi, и он нормально перезаписывается, но если этот файл открыт(например в MicrosoftWord), то приложение выдает ошибку и виснет. Как проверить что этот файл открыт(или не открыт) где-либо???


 
Skyle ©   (2005-10-18 14:33) [1]

Если открыт, то записать не дадут. Возникнет ошибка. "Виснет" - последствия твоей обработки ошибки.
Показывай как обрабатываешь (код).


 
umbra ©   (2005-10-18 14:35) [2]

можно перед сохранением файла попробовать удалить существующий. Если он удалится - все в порядке, если нет - надо решить что делать в таком случае


 
Skyle ©   (2005-10-18 14:44) [3]

> 2] umbra ©   (18.10.05 14:35)
А почему нет ни одного смайлика?
Сознайся, что пошутил.


 
Fay ©   (2005-10-18 15:21) [4]

2 BorlandC ©
>> Хочу перезаписать *.doc файл из Delphi
Понятно что из Delphi. Как именно? Давай код.


 
umbra ©   (2005-10-18 16:25) [5]


> Skyle ©   (18.10.05 14:44) [3]


это не шутка :)))


 
Andy BitOff ©   (2005-10-18 16:28) [6]

Я, в свое время делал так:

function Tfrm_Main.AccessToFile(FName:string):boolean; //False = нет доступа
begin
 if RenameFile(FName,FName+"~") then begin
   RenameFile(FName+"~",FName);
   Result:=True;
 end
 else begin
   Result:=False;
 end;
end;


 
clickmaker ©   (2005-10-18 16:28) [7]

hFile := CreateFile("ddd.doc", GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
if (hFile = INVALID_HANDLE_VALUE) and (GetLastError = ERROR_SHARING_VIOLATION) then
 Уже открыт


 
Fay ©   (2005-10-18 17:33) [8]

2 clickmaker ©   (18.10.05 16:28) [7]
А в случае отсутствия файла?


 
Fay ©   (2005-10-18 17:34) [9]

2 clickmaker ©   (18.10.05 16:28) [7]
А, я понял. Это, видимо, буквальный ответ.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
2-1129109894
MD2005
2005-10-12 13:38
2005.11.06
определение цвета в точках


1-1129635122
Max Zyuzin
2005-10-18 15:32
2005.11.06
проблемма с созданием форм в MDI-child формах


8-1118390454
NikNet
2005-06-10 12:00
2005.11.06
Как мне получить Буфер звука из TMediaPlayer1 компонента?


2-1128675935
Viktop
2005-10-07 13:05
2005.11.06
Поиск любого слова в базе


9-1118910515
Xenon
2005-06-16 12:28
2005.11.06
Вопросик по PD




   Наверх