Форум: "Основная";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизКак проверить что файл уже открыт? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.035 c