![]() |
|
Модераторы: Vitalik |
![]()
|
|
| x_art |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.1.2008 Репутация: нет Всего: нет |
Очень часто при закрытии формы с редактором вылетает ошибка Access violation at address ....
Стек вызова всегда один и тот же. Никто не подскажет в чем может быть причина? |00555086|cncsyn.exe|SynUniClasses.pas |TSynMultiToken |Clear |677 | |00555080|cncsyn.exe|SynUniClasses.pas |TSynMultiToken |Clear |676 | |005571E3|cncsyn.exe|SynUniRules.pas |TSynRange |Clear |1283| |00557235|cncsyn.exe|SynUniRules.pas |TSynRange |Clear |1291| |005571D8|cncsyn.exe|SynUniRules.pas |TSynRange |Clear |1282| |0055651F|cncsyn.exe|SynUniRules.pas |TSynRange |Destroy |668 | |0054F8A8|cncsyn.exe|SynUniHighlighter.pas|TSynUniSyn |Destroy |173 | |00428F6D|cncsyn.exe|Classes.pas |TComponent |DestroyComponents|9853| |00428F24|cncsyn.exe|Classes.pas |TComponent |DestroyComponents|9844| |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
x_art, у меня тоже такое было. ОЧЕНЬ внимательно проверь, не совершается ли каких-нибудь неправильных действий с SynEdit'ом (ну или с SynMemo, в зависимости от того, что ты используешь). Здесь виноват именно он, а не SynUniHighlighter. Ищи где-то неправомерные действия. Они происходят, скажем, в середине программы, а проявляют себя только при закрытии. Найти сложно, но нужно.
P.S. Для тестирования попробуй создать чистое приложение, запихать туда SynEdit и SynUniHighlighter, а потом запустить и закрыть программу. Более чем вероятно, что AV ты не получишь, а значит, проблема именно где-то в твоем коде, и скорее всего, коде, относящемся к SynEdit'у. |
|||
|
||||
| x_art |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.1.2008 Репутация: нет Всего: нет |
В том то и дело, у что у меня этот баг не вылезает никогда, а вот пользователи раз в неделю жалуются. А что считается неправомерными действиями?
|
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
x_art, это я так образно назвал всякие неточности в обращении с памятью, типа обращения к свойствам SynEdit'а, который еще не был создан, создание дочерней формы, где находится SynEdit, которая не находится ни под чьим контролем, и т.п.
|
|||
|
||||
| x_art |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.1.2008 Репутация: нет Всего: нет |
Если обратиться к свойствам несуществующего SynEdit, то AV будет сразу.
>>создание дочерней формы, где находится SynEdit, которая не находится ни под чьим контролем а вот это не совсем понял. поясни пожалуйста. |
|||
|
||||
| mr.Anderson |
|
||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 1 Всего: 128 |
Например. Есть дочерняя форма. На ней лежит SynEdit. То есть ты его в design-time закинул на форму.
Потом ты хочешь эту форму вызвать. Скажем, по клику на кнопке. И если ты вызовешь его вот так:
То велика вероятность получения AV в самый неожиданный момент. У меня он вылазил сразу после закрытия этой самой дочерней формы. Проблема решилась исправлением вышеуказанного фрагмента на такой:
Но вообще, отлов AV в случае работы с SynEdit'ом очень сложен, я сам до сих пор отлавливаю их по всем углам в своей программе, где используется SynEdit. |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |