Вниз
Скачать: CL | DM;

вылезает ошибка про отсутст. mdx файла   Найти похожие ветки 

 
serjufa   (2005-07-29 13:58) [0]

у меня появилось 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:17) [1]

except
// при неудаче
MDX_Error(TableName);
Active := True;
end;

А если исключение совершенно не связано с отсутствием индекса?
А ты безусловно вызываешь MDX_Error в котором правишь заголовок.


 
Reindeer Moss Eater ©   (2005-07-29 14:19) [2]

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;

Функция просто блеск.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.037 c
14-1123713626
IncRed
2005-08-11 02:40
2005.09.11
Системные требования .NET


11-1106839707
thaddy
2005-01-27 18:28
2005.09.11
mastak unreachable from netherlands and austria


9-1115814093
Solid
2005-05-11 16:21
2005.09.11
Твердотельное моделирование


6-1116836073
Nik_Larin
2005-05-23 12:14
2005.09.11
Тестирование для студентов


14-1124116765
Kerk
2005-08-15 18:39
2005.09.11
Чем-то письмо в "молодежный журнал" напоминает :)))




   Наверх