|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Fish.K.A., Когда вызывается EventAlertFunction ? Зачем она вызывается из Timer1Timer ? Какое время срабатывания у таймера ? Зачем в onAlert проверяется AEventName ? Бывают ли там значения, отличные от ожидаемого ? Какие ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 13:34 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Fish.K.A.Я делал простой тест. Правда запускал его вручную. Проблема то же проскакивала. Ну вот. Значит возвращаемся к пункту YuRockНеобходимо убедиться, что регистрация событий всегда проходит, и без ошибок. Я не знаю, как там в FDADEventAlerter, но скорее всего там есть что-то типа AutoRegister, так вот я бы его отключил и вызвал регистрацию вручную. Продебажил бы (залогировал результаты параметры и результаты функции регистрации, в моем древнем IBX она "выглядит" как "Tsib_event_block(isc_event_block)"). И тогда нужно посмотреть, что при 'Не включен обработчик событий' было в логе регистрации эвентов. И чем это "что" отличается от того, что там при ситуации, когда эвент пришел. Кроме этого, есть еще момент. Нужно быть уверенным, что эвент должен прийти. Так, на всякий. Я бы добавил переменную EventReceived и сделал так: Код: pascal 1. 2. 3. 4. 5. 6.
И изменил бы события подобным образом: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 13:42 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
YuRock, Таймер настроен на выдачу ошибки каждые 10 секунд пока его не отключат. Это сделано что бы люди не могли пользоваться ПО (конечно можно terminate сделать, но пока не хочу). От того что я напишу в таймер события приходить не начнут к сожалению ( ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 14:59 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
hvlad, У меня зарегистрировано 7 событий поэтому и стоит проверка на наименование события ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 15:00 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Fish.K.A.У меня зарегистрировано 7 событий поэтому и стоит проверка на наименование событияЭто вообще никак не отвечает на мой вопрос. И на остальные тоже. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 15:20 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Fish.K.A.Если Вы имеете ввиду событие компонента onAlert, то там вообще все просто А теперь, внимание, вопрос: в контексте какого потока выполняется это событие? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 15:57 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Fish.K.A.Таймер настроен на выдачу ошибки каждые 10 секунд пока его не отключат. Это сделано что бы люди не могли пользоваться ПО (конечно можно terminate сделать, но пока не хочу). От того что я напишу в таймер события приходить не начнут к сожалению ( Я вел речь о тестовой программе, которая необходима для нахождения причины ошибки. Если "не будут" - это в данном случае отлично. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 16:10 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА теперь, внимание, вопрос: в контексте какого потока выполняется это событие? Точно не знаю, но подозреваю что через Synchronize в главном потоке, как и в IBX. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 16:11 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
YuRockподозреваю что через Synchronize в главном потоке, как и в IBX. Это бы сделало алертер полностью неработоспособным в консольных приложениях. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 16:23 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЭто бы сделало алертер полностью неработоспособным в консольных приложениях. В IBX так и есть. И не только в консольных - в любых, где Application.Run не был вызван до получения событий. Да и вообще он не работоспособен без допилок) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2017, 16:49 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
hvlad Когда вызывается EventAlertFunction ? Зачем она вызывается из Timer1Timer ? Какое время срабатывания у таймера ? Зачем в onAlert проверяется AEventName ? Бывают ли там значения, отличные от ожидаемого ? Какие ? 1) EventAlertFunction - вызывается на create DataModule формы (TDM.DataModuleCreate(Sender: TObject);) 2) Попытка еще раз сохранить запись в базе (теоретически ее можно от туда убрать). 3) Таймер срабатывает каждые 5с 4) Проверка осуществляется потому что у меня в зарегистрированы 7 различных событий; 5) Не проверял ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2017, 10:42 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
YuRockИ тогда нужно посмотреть, что при 'Не включен обработчик событий' было в логе регистрации эвентов. И чем это "что" отличается от того, что там при ситуации, когда эвент пришел. Подскажите, а где смотреть этот лог? Или как его вести? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2017, 10:46 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Fish.K.A.Попытка еще раз сохранить запись в базе в смысле??? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2017, 10:53 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Fish.K.A.YuRockИ тогда нужно посмотреть, что при 'Не включен обработчик событий' было в логе регистрации эвентов. И чем это "что" отличается от того, что там при ситуации, когда эвент пришел. Подскажите, а где смотреть этот лог? Или как его вести? Там, куда ты его сохранишь. Как вести? Сделать функцию WriteLog и передавать в нее текст, который надо залогировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2017, 11:40 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
YuRock, что-то я не понимаю что надо сохранять в лог. Если у меня обработчик событий не ловит event, то выскакивает ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2017, 12:42 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Fish.K.A.что-то я не понимаю что надо сохранять в лог. YuRockпараметры и результаты функции регистрации, в моем древнем IBX она "выглядит" как "Tsib_event_block(isc_event_block) Это для начала. Чтобы убедиться, что с регистрацией событий нет проблем. А иначе дальше смотреть нет смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2017, 13:23 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
YuRock, Провел тест. Каждый раз когда не срабатывает обработчик появляется ошибка ERROR: Unrecognized events block ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2017, 19:10 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Fish.K.A.YuRock, Провел тест. Каждый раз когда не срабатывает обработчик появляется ошибка ERROR: Unrecognized events blockПрекрасно. В каком месте (я про стек вызовов, достаточно верхний десяток фреймов) ? Что при этом передаётся в isc_que_events ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2017, 20:28 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Кто ориентируется в современных потрохах Delphi, поправьте меня Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Т.е., если Parent.OnError не назначен, то привет игнор ошибкам. Parent - это TIBEvents, своего обработчика для FOnError у него нет, т.е. вся надежда на юзера. Но наш ТС пользуется не TIBEvents, а монстром TFDPhysIBEventAlerter (насколько я понял), который использует TIBEvents и, мало того, что не назначает ему обработчик OnError, но и юзеру такой возможности не даёт. Всё правильно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2017, 20:40 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
hvladмонстром TFDPhysIBEventAlerter (насколько я понял), который использует TIBEvents Это надо спрашивать в http://www.sql.ru/forum/1008012-32/firedac Но я как-то сомневаюсь, что AnyDAC/FireDAC будет зависеть от IBX ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 13:31 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Ariochhvladмонстром TFDPhysIBEventAlerter (насколько я понял), который использует TIBEvents Это надо спрашивать в http://www.sql.ru/forum/1008012-32/firedac Я смотрел исходники от Delphi 10.2, но мог что-то упустить, т.к. глубоко не вникал. AriochНо я как-то сомневаюсь, что AnyDAC/FireDAC будет зависеть от IBXUSUS (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 13:39 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
hvladТ.е., если Parent.OnError не назначен, то привет игнор ошибкам. Учитывая, что ошибка прилетает не в основном потоке - то, вполне вероятно, это наилучший компромисс.... Да и пользователю надо учитывать, что OnError будет вызываться отнюдь не из Main VCL Thread ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 13:51 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
Arioch, нет и не может быть никакого оправдания сокрытию ошибок от пользователя. И хватит флудить, здесь речь не об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2017, 14:08 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
hvladВсё правильно ?Как выяснилось - не всё. К моему удивлению, TIBEvents (и TIBEventThread) - это классы не IBX, а FireDAC, соответственно работают они иначе. Возвращаясь к теме - Fish.K.A., ты куда пропал ? Хотелось бы всё же получить ответы на вопросы из 20817269 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 16:31 |
|
Периодически не срабатывает обработчик события
|
|||
---|---|---|---|
#18+
hvlad, Я тут. Просто не всегда есть время отписываться. Я сейчас просто прогнал 10000 запусков тестовой программы. Причем перед прогоном переустановил еще раз FB и соответственно dll. У меня на 10000 запусках все гуд. Сейчас ищу время что бы прогнать у клиентов и посмотреть как у них все это прокатит. По мере поступления информации буду отписываться... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2017, 16:47 |
|
|
start [/forum/topic.php?fid=40&gotonew=1&tid=1561406]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
11ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 201ms |
0 / 0 |