Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.03.30;
Скачать: CL | DM;

Вниз

FileExists - дает диалог в XP   Найти похожие ветки 

 
z2000   (2010-03-19 10:15) [0]

Заметил такую особенность функция FileExists выводит диалоговое окно в win XP когда происходит следующее:
работали с CD ромом, вынули диск и вот если функция после этого проверяет наличие файла на отсутствующем в приводе
диске CD она дает диалоговое окно об отсутствие файла.

Понятно что оно реализовано в недрах WIN API, но все же
как от него избавиться, может кто с таким сталкивался,
эта штука в определеных моментах совсем ненужная и даже вредная...


 
evvcom ©   (2010-03-19 10:33) [1]

Напиши мелким и мягким


 
{RASkov} ©   (2010-03-19 10:34) [2]

> [0] z2000   (19.03.10 10:15)

Приведи пример кода, который выполняет описанное в [0]


 
Anatoly Podgoretsky ©   (2010-03-19 10:51) [3]

SetErrorMode


 
z2000   (2010-03-19 12:36) [4]

Anatoly Podgoretsky   Спасибо!


 
DVM ©   (2010-03-19 13:16) [5]


function FileExists2(const FileName: string): Boolean;

 function ExistsLockedOrShared(const Filename: string): Boolean;
 var
   FindData: TWin32FindData;
   LHandle: THandle;
 begin
   LHandle := FindFirstFile(PChar(Filename), FindData);
   if LHandle <> INVALID_HANDLE_VALUE then
   begin
     Windows.FindClose(LHandle);
     Result := FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY = 0;
   end
   else
     Result := False;
 end;

var
 Code: Integer;
 LastError: Cardinal;
 OldMode: Cardinal;
begin
 OldMode := SetErrorMode(SEM_FAILCRITICALERRORS);
 Code := Integer(GetFileAttributes(PChar(FileName)));
 if Code <> -1 then
   Result := (FILE_ATTRIBUTE_DIRECTORY and Code = 0)
 else
 begin
   LastError := GetLastError;
   Result := (LastError <> ERROR_FILE_NOT_FOUND) and
     (LastError <> ERROR_PATH_NOT_FOUND) and
     (LastError <> ERROR_INVALID_NAME) and ExistsLockedOrShared(Filename);
 end;
 SetErrorMode(OldMode);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.005 c
1-1323770413
ZeroDivide
2011-12-13 14:00
2014.03.30
Как установить RunParams в XE2 из эксперта (ToolsAPI)


15-1381233183
RWolf
2013-10-08 15:53
2014.03.30
Визуализация результатов измерений


15-1381168512
Noso
2013-10-07 21:55
2014.03.30
Возвращение набора данных из Ms sql


15-1381397783
Ламот
2013-10-10 13:36
2014.03.30
Помогите пож. разобраться с SQL Developer...


2-1370712411
oliksin
2013-06-08 21:26
2014.03.30
Почему программа не работает? Не могу найти ошибку.