Вниз
Скачать: 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.026 c
14-1129027442
Ketmar
2005-10-11 14:44
2005.11.06
посоветуйте быстрй хороший хост...


2-1129462287
STEEL
2005-10-16 15:31
2005.11.06
Перевод курсора на новую строку


6-1122116863
PSV84
2005-07-23 15:07
2005.11.06
сеть RS485/RS232


2-1129083148
AlexLines
2005-10-12 06:12
2005.11.06
ПРОБЛЕМА С LIKE "A%" И LIKE "A"


4-1125324360
v850
2005-08-29 18:06
2005.11.06
LISTVIEW_GETITEMTEXT из чужого окна




   Наверх