|
|
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
Добрый день. Столкнулся тут с очень странной проблемой. Работаю тут над проектом и вроде основной функционал сделан (получение информации с датчика) осталось "прикрутить" дополнительные функции и навести красоту, появилась совершенно непонятная ошибка. а именно так всё работает, но если на форму поместить какой либо компонент (картинку, glyph у кнопки) и в ходе работы нажать "подключить" (там срабатывает функция из DLL-работает корректно) и затем закрыть форму, то появляется access violation. Если картинку убрать то всё в норме, ничего не могу понять. хотя знаю, что чудес не бывает. Проект прилагаю. DLL пришлю отдельно,а то в размер не укладываюсь. Может кто знает в чем проблема. Заранее сильно благодарю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 10:00 |
|
||
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
Поставьте бряку (можно условную) в ReflectionTimerTimer и UserMessage. Попадает ли туда при закрытии формы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 10:14 |
|
||
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
Нет при закрытии формы туда не заходит, я так думаю это происходит при освобождении памяти, но при чем тут картинки - не пойму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 10:29 |
|
||
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
Выяснил, что исключение возникает в модуле System здесь, if InitContext.DLLInitState = 0 then while ExitProc <> nil do begin @P := ExitProc; ExitProc := nil; P; <----------------------------------------------------------- end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 10:51 |
|
||
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
Такое впечатление, что не было выхода из какой-то процедуры, но почему это срабатывает при отсутствии картинок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 11:04 |
|
||
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
DLL сторонние, очевидно там что-то портится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 11:05 |
|
||
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
patrick1968DLL сторонние, очевидно там что-то портитсяСовсем неочевидно. Код - жесть. А по теме - надо знать точно, какое точно требуется выравнивание для структур, соглашение вызовов. Почему часть cdecl, а часть stdcall? Зачем используются критические секции? Что-то будет работать в потоке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 12:30 |
|
||
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
Да, там поток, ну а соглашение вызовов - таковы условия разработчиков DLL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 12:33 |
|
||
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
А выравнивание структур? Корректно ли завершается поток? Кстати, на чём DLL написана? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 12:40 |
|
||
|
Непонятная ошибка
|
|||
|---|---|---|---|
|
#18+
patrick1968DLL сторонние, очевидно там что-то портится DrMemory в руки и смотреть что и где портится. Если действительно из сторонней DLL - тыкать логом в разработчиков. Но скорее всего ты что-то опять накосячил с форматом вызовов. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2018, 12:50 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=58&tid=2040789]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 445ms |

| 0 / 0 |
