![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование файла
rar © (2009-04-28 11:46:00)Копирую файл следующей функцией
function MyCopyFile(const Src, Dest: string):Integer;
//копируем файл Src в Dest
var
f : TSHFileOpStruct;
begin
try
with f do
begin
Wnd:=0;
wFunc:=FO_COPY;
pFrom:=PChar(Src);
pTo:=PChar(vDisk+'\'+Dest);
fFlags:=FOF_ALLOWUNDO or FOF_NOCONFIRMATION ;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
//F.fAnyOperationsAborted:=False;
end;
Result:=ShFileOperation(f);
except
Result:=-1;
//MessageDlg('ERROR COPY',mtInformation,[mbOK],0);
end;
end;
Если при копировании произошла ошибка то появляется сообщение и далее я не попадаю в блок except;
Проблема в том что не надо выводить сообщение об ошибкедостаточно получить результат операции
rar (2009-04-28 13:09:00) [1]всем спасибо результат получил
Anatoly Podgoretsky (2009-04-28 12:50:00) [2]> () []
ShFileOperation ничего не знает про исключения Дельфи.
Ты должен анализировать возвращаемый код и правильно установить все параметры TSHFileOpStruct, их там много, один из них относится к подавлению окна с ошибкой..
Плохиш (2009-04-28 12:29:00) [3]Во флаг добавь FOF_NOERRORUI
> далее я не попадаю в блок except;
Функции WinAPI не генерируют исключений делфи, проверяй возвращаемое ими значение.