![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вылезает ошибка про отсутст. mdx файла [D5, dBase, FoxPro]
serjufa © (2005-07-29 13:58:00)у меня появилось 2 вопроса.
1.Сначала цитата
[флажок Stop on Delphi Exceptions. Когда данная опция включена, отладчик приостанавливает выполнение программы при возбуждении исключения. Если же она выключена, исключения VCL обрабатываются обычным образом — отображается панель с сообщением, информирующим пользователя о характере нарушения, совершенного его программой.
Когда опция Stop on Delphi Exceptions включена, отладчик делает остановку при исключениях даже в том случае, когда исключение обрабатывается вашей программой. Если вы не хотите, чтобы отладчик останавливал программу при любом исключении, выключите данную опцию.
]
Можно ли программно временно отключить описанное выше
2. Открываю сторонние dbf. К одной из них "забыли" приложить мультииндекс-й файл. Поэтому вылезает ошибка и останавливает программу. Никак не могу побороть эту проблему
{$WARNINGS OFF} //Отключить вывод предупреждений.
try
Active := True; //здесь вылезает ошибка про отсутст. mdx файла
except
// при неудаче
MDX_Error(TableName);
Active := True;
end;
Приведу текст "лечения" dbf
// ************************************************************************ ****
function MDX_Error( TableName :string) : boolean;
var
my_handle: integer;
buf: byte;
begin
buf:=$00;
my_handle:=FileOpen(W_zapros.tbl_Source.TableName,$0001);
{$I-}
if (FileSeek(my_handle,28,1)<>-1) then
begin
FileWrite(my_handle,buf,1);
FileClose(my_handle);
W_zapros.tbl_Source.Open;
end;
{$I+}
end;
Reindeer Moss Eater (2005-07-29 14:19:00) [1]function MDX_Error( TableName:string) : boolean;
var
my_handle: integer;
buf: byte;
begin
buf:=$00;
my_handle:=FileOpen( W_zapros.tbl_Source.TableName,$0001);
{$I-}
if (FileSeek(my_handle,28,1)<>-1) then
begin
FileWrite(my_handle,buf,1);
FileClose(my_handle);
W_zapros.tbl_Source.Open;
end;
{$I+}
end;
Функция просто блеск.
Reindeer Moss Eater (2005-07-29 14:17:00) [2]except
// при неудаче
MDX_Error(TableName);
Active := True;
end;
А если исключение совершенно не связано с отсутствием индекса?
А ты безусловно вызываешь MDX_Error в котором правишь заголовок.