Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
Всем доброго времени суток!

Столкнулся со проблемой, что ПЕРИОДИЧЕСКИ не срабатывает обработчик ошибок. Есть ПО установленное на сервере. Параметры сервера:

Windows Server 2008 R2 Enterprise
ОЗУ: 8ГГб

FireBird: WI-V2.5.7.27050 Firebird 2.5 - Classic (проблема была и на FB 2.5.2)
Версия fbclient.dll соответствует установленной версии FB. Других версий FB на сервере не установлено и никогда не было.

ПО написана с использование Delphi XE5 и FireDac. Общее количество событий зарегистрированных в FDADEventAlerter = 7

Все пользователи ПО запускают ее на сервере через RDP или RemoteApp (раскидывали прогу по сетевым компам проблема не исчезает).

Пытался менять порт, но все равно проблема остается.

Может кто-то уже сталкивался с такой ситуацией? Что порекомендуете?

Спасибо.
19 сен 17, 14:02    [20806060]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43928

Fish.K.A.
Что порекомендуете?

Не использовать события если не понимаете как они работают и не умеете программировать
непосредственно на ISC API. Все дельфийские обёртки, что я встречал, вызывают только
недоумение своей кривизной (которая неизбежна в тщетных попытках сделать их универсальными).

Posted via ActualForum NNTP Server 1.5

19 сен 17, 14:24    [20806128]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Fish.K.A.
Что порекомендуете?
1. 100500 раз перепроверить свой код.
2. Перепроверить код "того парня" - FireDac в данном случае.
3. Сделать воспроизводимый пример дя трекера, если ошибка не нашлась на предыдущих шагах.
19 сен 17, 14:34    [20806170]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 23203
hvlad
Fish.K.A.
Что порекомендуете?
1. 100500 раз перепроверить свой код.
2. Перепроверить код "того парня" - FireDac в данном случае.
3. Сделать воспроизводимый пример дя трекера, если ошибка не нашлась на предыдущих шагах.

0. Выключить антивирусы, брандмауэры, фаерволы etc.
19 сен 17, 15:17    [20806340]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
hvlad, проекти переписывался FibPlus -> AnyDac -> FireDac и постоянно возникали эти проблемы.
Причем у себя я эту проблему словить не могу.

Выключить антивирусы, брандмауэры, фаерволы - выключены, настроены. Порты открыты.
19 сен 17, 15:20    [20806360]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 57676
А какую-нибудь закономерность не-срабатывания заметили?

P.S. Клиентское ПО на том же сервере, что и FB, правильно?

Posted via ActualForum NNTP Server 1.5

19 сен 17, 15:25    [20806388]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
Dimitry Sibiryakov, Вы правы. Я не умею программировать непосредственно на ISC API....Есть какие-то примеры. Что почитать?
19 сен 17, 15:25    [20806395]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
Гаджимурадов Рустам,

Вообще закономерности не увидел. Есть клиент у которого стоит на серваке, есть клиенты у которые и так и так.
19 сен 17, 15:27    [20806398]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 23203
Fish.K.A.,

можно обратить внимание на длительность подключения.
19 сен 17, 15:30    [20806408]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
o_v_a
Member

Откуда: Тула
Сообщений: 909
Таки явно прописать директиву RemoteAuxPort в конфиге Firebird на сервере и в файрволах этот же порт открыть
19 сен 17, 15:59    [20806482]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43928

Проблемы с дополнительным подключением могут вызвать тотальную неработу событий. А у
аффтара - теряются некоторые из них. Это вызывается проблемами синхронизации потоков в
приложении.

Posted via ActualForum NNTP Server 1.5

19 сен 17, 16:07    [20806505]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
Fish.K.A.
Что порекомендуете?

1. Определиться, что значит "Не срабатывают". Клиент запущен всегда и получает 1-е и 3-е событие, а 2-е не получает? Может, он был закрыт или отсоединен от базы в этот момент? Или события в этот момент не были зарегистрированы?
В 1-ю очередь необходимо железно установить, что события таки пропускаются в идеальном состоянии клиента.
2. Завязываться на то, что событие будет точно получено и обработано в любом случае нельзя (клиент может начать закрываться в момент, когда сервер ему его шлет - один из примеров).
Необходимо строить логику таким образом, чтобы получение события только помогало, но не было обязательным для верной работы логики программы.
19 сен 17, 17:21    [20806829]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Fish.K.A.
hvlad, проекти переписывался FibPlus -> AnyDac -> FireDac и постоянно возникали эти проблемы.
Причем у себя я эту проблему словить не могу.
А откуда уверенность, что проблема вообще есть ?
19 сен 17, 18:31    [20807001]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
hvlad,

При запуске программы я делаю проверку. Добавляю строку в таблицу и получаю соответствующее событие. Вот и получается, что у меня может N раз нормально открыться, а потом M без получения события.
Если ПО открылось нормально и проверка на получения события прошла нормально, то потом в запущенном экземпляре ПО проблем не возникает.
19 сен 17, 20:09    [20807214]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
YuRock
Необходимо строить логику таким образом, чтобы получение события только помогало, но не было обязательным для верной работы логики программы.


Логика следующая. Есть ПО1 и ПО2. ПО1 сохраняет определенную информацию в базу, после commit ПО2 должна получить эту информацию.
19 сен 17, 20:15    [20807227]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Fish.K.A.,

всё что можно сказать на данный момент - ошибка в 17-ой строке, увы.

Значимой информации нет. Есть только стук в подвале.
Нужно или воспроизводить, или искать ошибку у себя.

PS Что в обработчике события ?
19 сен 17, 20:41    [20807281]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
hvlad, сорри. Не совсем понял что надо?
19 сен 17, 20:53    [20807303]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Fish.K.A.
hvlad, сорри. Не совсем понял что надо?
Я имел в виду - что написано в обработчике события ? Которое наверняка есть в FDADEventAlerter.
Хоть тут Delphi никто и не знает - показывай, вдруг что увидим.
19 сен 17, 21:02    [20807323]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
hvlad,

Если Вы имеете ввиду событие компонента onAlert, то там вообще все просто:

    //----
    if CompareText(AEventName, 'EVENTTEST') = 0 then
    begin
      Timer1.Enabled := False;
    end;
19 сен 17, 21:08    [20807334]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
Fish.K.A.
Если ПО открылось нормально и проверка на получения события прошла нормально, то потом в запущенном экземпляре ПО проблем не возникает.

Необходимо убедиться, что регистрация событий всегда проходит, и без ошибок. Я не знаю, как там в FDADEventAlerter, но скорее всего там есть что-то типа AutoRegister, так вот я бы его отключил и вызвал регистрацию вручную. Продебажил бы (залогировал результаты параметры и результаты функции регистрации, в моем древнем IBX она "выглядит" как "Tsib_event_block(isc_event_block)"). Исходники-то есть наверняка.
19 сен 17, 21:40    [20807391]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
YuRock,

Мысль имеет место быть. НО! На моем компе все работает нормально и такая ситуация случается крайне редко, а следовательно сложно поймать момент для трасеровки.
19 сен 17, 21:44    [20807401]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
Fish.K.A.
На моем компе все работает нормально и такая ситуация случается крайне редко
Значит таки иногда случается? :)

В чем проблема? Напиши тест - кусочек твоей программы - после проверки выход. И из другой программы запусти этот тест 100000 раз. Можешь до ExitCode=1, чтоб тест прекратить в случае 1-й же ошибки.
19 сен 17, 22:32    [20807523]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Fish.K.A.,

Timer1 как-то связан с events ?
19 сен 17, 22:36    [20807532]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
hvlad,

Он наверно в обработчике таймера принимает решение, что эвент не пришел и программу надо закрывать.
19 сен 17, 23:09    [20807601]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
YuRock
В чем проблема? Напиши тест - кусочек твоей программы - после проверки выход. И из другой программы запусти этот тест 100000 раз. Можешь до ExitCode=1, чтоб тест прекратить в случае 1-й же ошибки.


Я делал простой тест. Правда запускал его вручную. Проблема то же проскакивала.


hvlad
Timer1 как-то связан с events ?


procedure TDM.Timer1Timer(Sender: TObject);
Var
  A: string;
  AR: String;
  LogFilePath: String;
begin
  if FDADEventAlerter.Active then
    A := 'FDADEventAlerter.Active = TRUE'
  else
    A := 'FDADEventAlerter.Active = FALSE';

  if FDADEventAlerter.Options.AutoRegister then
    AR := 'FDADEventAlerter.Options.AutoRegister = TRUE'
  else
    AR := 'FDADEventAlerter.Options.AutoRegister = FALSE';


  ShowError('Не включен обработчик событий. Необходимо перезапустить программу!'+CRLF+
            A+CRLF+
            AR+CRLF+
            FDADEventAlerter.Names.Text);

  LogFilePath := ExtractFilePath(ParamStr(0))+'EventError.log';
  SaveToFile(LogFilePath, FormatDateTime('dd-mm-yyyy hh:mm:ss - Не включен обработчик событий [' + WTCRMUSERNAME + '] - ['+WTCRMSTATIONNAME+'] ', Now));

  EventAlertFunction;


 { FDDB.Close;
  FDDB.Open;

  if FDADEventAlerter.Active then
    FDADEventAlerter.Active := False
  else
    FDADEventAlerter.Active := True;

  EventAlertFunction;}
end;


function TDM.EventAlertFunction: boolean;
var
  tmp: String;
begin
  if not DSet_UnitTest.Active then
    DSet_UnitTest.Open;

  UnitTestWriteTransaction.StartTransaction;
  try
    Timer1.Enabled := True;

    tmp := 'DSet_UnitTest.Append';
    DSet_UnitTest.Append;
    tmp := 'DSet_UnitTest.Post';

    DSet_UnitTest.Post;

    tmp := 'UnitTestWrite.Commit';

    UnitTestWriteTransaction.Commit;
  except
    on E:Exception do
    begin
      ShowMessage(Format('Ошибка добавления [%s]',[tmp])+#10#13+E.Message);
      UnitTestWriteTransaction.Rollback;
      DSet_UnitTest.Cancel;
    end;
  end;
end;
20 сен 17, 13:23    [20808763]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Fish.K.A.,

Когда вызывается EventAlertFunction ?
Зачем она вызывается из Timer1Timer ?
Какое время срабатывания у таймера ?

Зачем в onAlert проверяется AEventName ?
Бывают ли там значения, отличные от ожидаемого ? Какие ?
20 сен 17, 13:34    [20808836]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
Fish.K.A.
Я делал простой тест. Правда запускал его вручную. Проблема то же проскакивала.

Ну вот. Значит возвращаемся к пункту

YuRock
Необходимо убедиться, что регистрация событий всегда проходит, и без ошибок. Я не знаю, как там в FDADEventAlerter, но скорее всего там есть что-то типа AutoRegister, так вот я бы его отключил и вызвал регистрацию вручную. Продебажил бы (залогировал результаты параметры и результаты функции регистрации, в моем древнем IBX она "выглядит" как "Tsib_event_block(isc_event_block)").


И тогда нужно посмотреть, что при 'Не включен обработчик событий' было в логе регистрации эвентов. И чем это "что" отличается от того, что там при ситуации, когда эвент пришел.

Кроме этого, есть еще момент. Нужно быть уверенным, что эвент должен прийти. Так, на всякий. Я бы добавил переменную EventReceived и сделал так:

Timer1.Enabled := False; // Еще на форме поставить
EventReceived := False;
RegisterEvents;
Insert;
Commit;
Timer1.Enabled := True;


И изменил бы события подобным образом:
procedure TDM.OnAlert( AEventName )
begin
  if CompareText(AEventName, 'EVENTTEST') = 0 then
  begin
    EventReceived := True;
  end;
end;

procedure TDM.Timer1Timer(Sender: TObject);
begin
  Timer1.Enabled := False;
  if EventReceived then
    Exit;

  ShowError('Не включен обработчик событий. Необходимо перезапустить программу!');
end;
20 сен 17, 13:42    [20808873]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
YuRock,

Таймер настроен на выдачу ошибки каждые 10 секунд пока его не отключат. Это сделано что бы люди не могли пользоваться ПО (конечно можно terminate сделать, но пока не хочу).

От того что я напишу в таймер события приходить не начнут к сожалению (
20 сен 17, 14:59    [20809214]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
hvlad,

У меня зарегистрировано 7 событий поэтому и стоит проверка на наименование события
20 сен 17, 15:00    [20809220]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Fish.K.A.
У меня зарегистрировано 7 событий поэтому и стоит проверка на наименование события
Это вообще никак не отвечает на мой вопрос.
И на остальные тоже.
20 сен 17, 15:20    [20809294]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43928

Fish.K.A.
Если Вы имеете ввиду событие компонента onAlert, то там вообще все просто

А теперь, внимание, вопрос: в контексте какого потока выполняется это событие?

Posted via ActualForum NNTP Server 1.5

20 сен 17, 15:57    [20809414]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
Fish.K.A.
Таймер настроен на выдачу ошибки каждые 10 секунд пока его не отключат. Это сделано что бы люди не могли пользоваться ПО (конечно можно terminate сделать, но пока не хочу).

От того что я напишу в таймер события приходить не начнут к сожалению (

Я вел речь о тестовой программе, которая необходима для нахождения причины ошибки. Если "не будут" - это в данном случае отлично.
20 сен 17, 16:10    [20809463]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
Dimitry Sibiryakov
А теперь, внимание, вопрос: в контексте какого потока выполняется это событие?

Точно не знаю, но подозреваю что через Synchronize в главном потоке, как и в IBX.
20 сен 17, 16:11    [20809469]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 43928

YuRock
подозреваю что через Synchronize в главном потоке, как и в IBX.

Это бы сделало алертер полностью неработоспособным в консольных приложениях.

Posted via ActualForum NNTP Server 1.5

20 сен 17, 16:23    [20809506]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
Dimitry Sibiryakov
Это бы сделало алертер полностью неработоспособным в консольных приложениях.

В IBX так и есть. И не только в консольных - в любых, где Application.Run не был вызван до получения событий.
Да и вообще он не работоспособен без допилок)
20 сен 17, 16:49    [20809589]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
hvlad

Когда вызывается EventAlertFunction ?
Зачем она вызывается из Timer1Timer ?
Какое время срабатывания у таймера ?

Зачем в onAlert проверяется AEventName ?
Бывают ли там значения, отличные от ожидаемого ? Какие ?


1) EventAlertFunction - вызывается на create DataModule формы (TDM.DataModuleCreate(Sender: TObject);)
2) Попытка еще раз сохранить запись в базе (теоретически ее можно от туда убрать).
3) Таймер срабатывает каждые 5с
4) Проверка осуществляется потому что у меня в зарегистрированы 7 различных событий;
5) Не проверял
22 сен 17, 10:42    [20814775]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
YuRock
И тогда нужно посмотреть, что при 'Не включен обработчик событий' было в логе регистрации эвентов. И чем это "что" отличается от того, что там при ситуации, когда эвент пришел.


Подскажите, а где смотреть этот лог? Или как его вести?
22 сен 17, 10:46    [20814801]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 26699
Fish.K.A.
Попытка еще раз сохранить запись в базе

в смысле???
22 сен 17, 10:53    [20814849]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
Fish.K.A.
YuRock
И тогда нужно посмотреть, что при 'Не включен обработчик событий' было в логе регистрации эвентов. И чем это "что" отличается от того, что там при ситуации, когда эвент пришел.


Подскажите, а где смотреть этот лог? Или как его вести?

Там, куда ты его сохранишь.
Как вести? Сделать функцию WriteLog и передавать в нее текст, который надо залогировать.
22 сен 17, 11:40    [20815116]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
YuRock,

что-то я не понимаю что надо сохранять в лог.

Если у меня обработчик событий не ловит event, то выскакивает ошибка.
22 сен 17, 12:42    [20815453]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2467
Fish.K.A.
что-то я не понимаю что надо сохранять в лог.


YuRock
параметры и результаты функции регистрации, в моем древнем IBX она "выглядит" как "Tsib_event_block(isc_event_block)


Это для начала. Чтобы убедиться, что с регистрацией событий нет проблем. А иначе дальше смотреть нет смысла.
22 сен 17, 13:23    [20815654]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
YuRock,

Провел тест. Каждый раз когда не срабатывает обработчик появляется ошибка

ERROR: Unrecognized events block
22 сен 17, 19:10    [20817170]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Fish.K.A.
YuRock,

Провел тест. Каждый раз когда не срабатывает обработчик появляется ошибка

ERROR: Unrecognized events block
Прекрасно.
В каком месте (я про стек вызовов, достаточно верхний десяток фреймов) ?
Что при этом передаётся в isc_que_events ?
22 сен 17, 20:28    [20817269]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Кто ориентируется в современных потрохах Delphi, поправьте меня

procedure TIBEventThread.SQueEvents;
begin
  try
    Parent.Database.Call(Parent.Database.GDSLibrary.isc_que_events(StatusVector, @Parent.Database.Handle,
      @EventID, EventBufferLen, EventBuffer, TISC_CALLBACK(@EventCallback),
      PVoid(Self)), True);
  except
    on E : Exception do
      if Assigned(Parent.OnError) then
        if E is EIBError then
          Parent.OnError(Parent, EIBError(E).IBErrorCode)
        else
          Parent.OnError(Parent, 0);
  end;
end;
Т.е., если Parent.OnError не назначен, то привет игнор ошибкам.

Parent - это TIBEvents, своего обработчика для FOnError у него нет, т.е. вся надежда на юзера.

Но наш ТС пользуется не TIBEvents, а монстром TFDPhysIBEventAlerter (насколько я понял),
который использует TIBEvents и, мало того, что не назначает ему обработчик OnError, но и
юзеру такой возможности не даёт.

Всё правильно ?
22 сен 17, 20:40    [20817291]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Arioch
Member

Откуда:
Сообщений: 9144
hvlad
монстром TFDPhysIBEventAlerter (насколько я понял),
который использует TIBEvents


Это надо спрашивать в http://www.sql.ru/forum/1008012-32/firedac

Но я как-то сомневаюсь, что AnyDAC/FireDAC будет зависеть от IBX
25 сен 17, 13:31    [20820543]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Arioch
hvlad
монстром TFDPhysIBEventAlerter (насколько я понял),
который использует TIBEvents


Это надо спрашивать в http://www.sql.ru/forum/1008012-32/firedac
Я смотрел исходники от Delphi 10.2, но мог что-то упустить, т.к. глубоко не вникал.

Arioch
Но я как-то сомневаюсь, что AnyDAC/FireDAC будет зависеть от IBX
USUS (с)
25 сен 17, 13:39    [20820574]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Arioch
Member

Откуда:
Сообщений: 9144
hvlad
Т.е., если Parent.OnError не назначен, то привет игнор ошибкам.


Учитывая, что ошибка прилетает не в основном потоке - то, вполне вероятно, это наилучший компромисс....
Да и пользователю надо учитывать, что OnError будет вызываться отнюдь не из Main VCL Thread
25 сен 17, 13:51    [20820637]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
Arioch,

нет и не может быть никакого оправдания сокрытию ошибок от пользователя.
И хватит флудить, здесь речь не об этом.
25 сен 17, 14:08    [20820719]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
hvlad
Member

Откуда:
Сообщений: 9312
hvlad
Всё правильно ?
Как выяснилось - не всё. К моему удивлению, TIBEvents (и TIBEventThread) - это классы не IBX, а FireDAC, соответственно работают они иначе.

Возвращаясь к теме - Fish.K.A., ты куда пропал ?
Хотелось бы всё же получить ответы на вопросы из 20817269
27 сен 17, 16:31    [20827219]     Ответить | Цитировать Сообщить модератору
 Re: Периодически не срабатывает обработчик события  [new]
Fish.K.A.
Member

Откуда:
Сообщений: 17
hvlad,

Я тут. Просто не всегда есть время отписываться. Я сейчас просто прогнал 10000 запусков тестовой программы. Причем перед прогоном переустановил еще раз FB и соответственно dll. У меня на 10000 запусках все гуд. Сейчас ищу время что бы прогнать у клиентов и посмотреть как у них все это прокатит. По мере поступления информации буду отписываться...
27 сен 17, 16:47    [20827278]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Firebird, InterBase Ответить