Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 14:30   #1
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию Перехват ошибки программы

Здраствуйте подскажите почему не перехватывается ошибка программы

вот собствено код

Код:
    
...
     try
          DM[y+1] := TDynDM.CreateValues(Self, y+1);
         except
          on E: Exception do
            begin
             Application.MessageBox(PChar(E.Message), 'Îøèáêà ïîäêëþ÷åíèÿ', MB_ICONERROR);
            end;
         end;
...
эта процедура находится в датамодуле

Код:
constructor TDynDM.CreateValues(AOwner: TComponent; Values: Integer);
begin
  inherited Create(AOwner);
  FValues:=Values;
  try
   FIniFile:= TIniFile.Create(ExtractFilePath(Application.ExeName)+ 'Config.ini');
  try
   ip:= FIniFile.ReadString('Base','IP','');
   port:=FIniFile.ReadString('Base'+IntToStr(FValues), 'Port','');
   PName:= FIniFile.ReadString('Base'+IntToStr(FValues), 'Path','');
   un:= FIniFile.ReadString('Base'+IntToStr(FValues),'user_name','');
   pas:= FIniFile.ReadString('Base'+IntToStr(FValues),'password','');

    //Ïîäêëþ÷åíèå ê áàçå   DB-IBDatabase
   DB.Connected := false;
   DB.DatabaseName:=ip+'/'+port+':'+PName;
   DB.Params.Add('user_name='+un);
   DB.Params.Add('password='+pas);
   DB.Connected := true;
  //   DS - DataSource
   DS.DataSet:=Query;
   //Query
   Query.Database:=DB;
   Query.Transaction:=Trans;
   //Trans
   Trans.DefaultDatabase:=DB;
   //Trans.Active:=true;
  finally
   FIniFile.Free;
  end;
  except
   on E: Exception do
    begin
     Application.MessageBox(PChar(E.Message), 'Îøèáêà ïîäêëþ÷åíèÿ', MB_ICONERROR);
     Halt;
    end;
   end;
end;
Но к сожалению даже при искуственно созданых ошибках, например не правильном указании пути к базе, ошибка не перехватывается...

Что я делаю не правильно?
Dozent вне форума Ответить с цитированием
Старый 23.05.2012, 14:36   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Это ошибка или исключение которое выдаёт компилятор?
Дай принскрин окна ошибки.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 23.05.2012, 14:40   #3
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

А почему должна?
=master= вне форума Ответить с цитированием
Старый 23.05.2012, 15:28   #4
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

я тут немножко пожксперементировал)
Ошибка перехватывается, ну сообшение выводится как по коду в этом я уверен потому что в названии сообшения выходили те символы которые явводил.

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

процедура подключения из датамодуля есть выше, а вот процедура создания закладки Unit1

Код:
Tab:=TTabsheet.Create(PC);  //ñîçäàåì äèíàìè÷åñêè íîâóþ âêëàäêó
         with Tab do        //è íàñòðàèâàåì åå
           begin
            Visible := true;
            Caption := NameStr+'     '; //ìîæíî çàäàòü èìÿ âêëàäêè
            Pagecontrol := PC; //ïîìåñòèòü ñîçäàííóþ âêëàäêó â íóæíûé PageControl
            PC.SelectNextPage(True);
           end;
Dozent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват и модификация HTTP-трафика определённой программы pilesos Работа с сетью в Delphi 5 09.01.2012 06:50
Перехват ошибки Dima DDM Общие вопросы Delphi 3 12.10.2011 11:00
Ошибки компоновки многомодульной программы alexsvk Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 17.04.2011 23:45
Перехват ошибки при неудачном соединении padsyukin Работа с сетью в Delphi 4 23.12.2010 13:10
Посмотрите ошибки программы!!! Alexsey1991 Фриланс 6 05.03.2010 21:22