Главная страница
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.043 c
14-1129571602
Sergey_Masloff
2005-10-17 21:53
2005.11.06
Поковырялся сегодня в исходниках Indy... мама родная


1-1129290248
Lirik
2005-10-14 15:44
2005.11.06
Запретить двигать формой


6-1122299778
maxwellz
2005-07-25 17:56
2005.11.06
перехват TCP/IP пакетов


1-1129084104
Timon2
2005-10-12 06:28
2005.11.06
ComboBox и специальные символы


6-1122384608
Almaz
2005-07-26 17:30
2005.11.06
Синхронизация доступа к сокету