Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: 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 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
3-1127490087
bbn
2005-09-23 19:41
2005.11.06
Tools to MS SQL


2-1129377000
el_bandito
2005-10-15 15:50
2005.11.06
CRC ????


14-1129617966
syte_ser78
2005-10-18 10:46
2005.11.06
помогите составить техзадание


14-1129213003
ArtemESC
2005-10-13 18:16
2005.11.06
MBR


2-1129007753
Dimon777
2005-10-11 09:15
2005.11.06
Контекстная справка F1