Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.11;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.059 c
14-1124343430
cherrex
2005-08-18 09:37
2005.09.11
Картинки для компонентов


6-1116836925
Uninstall
2005-05-23 12:28
2005.09.11
Переход с Indy 9 на Indy 10.


3-1122900580
Cheaterr
2005-08-01 16:49
2005.09.11
Короткий вопрос по Access


14-1124433996
root
2005-08-19 10:46
2005.09.11
Как вести учет дней в shareware


3-1122468976
vok
2005-07-27 16:56
2005.09.11
Двусторонняя печать