| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Помогите выловить Access Violation! |
| Автор: allx 19.10.2005, 08:54 |
| Утилитка маалюсенькая. Кода на 10кб. Три формы. Ошибка происходит при уничтожении главной формы (по времени- после form.onclose). Пишет вмегда Access Violation at Adress 41FE. Что плохо - ошибка то происходит, то нет Вобщем не знаю как отладить - нажимаю на паузу при открытом сообщении об ошибки - а там в call stack`e уже диспатчеры и дестроеры только висят, а в проекте уже пустота. Все динамические массивы уже заменил статическими. Что делать - не знаю |
| Автор: z-END 19.10.2005, 09:02 |
| контролы какие нибудь "левые" используешь? если да замени их все на стандартные, или по одному удаляй, пока не пропадет ошибка |
| Автор: allx 19.10.2005, 09:33 |
| z-END использую Но его создаю и уничтожаю динамически, при запуске и остановке потока. Excrption`ы он не генерит вроде... |
| Автор: z-END 19.10.2005, 09:35 |
| allx а ты попробуй без него |
| Автор: allx 19.10.2005, 09:52 |
| z-END Дык он у меня всю работу делает. Ка же я без него. К тому же написал его на базе уже отлаженной и проверенной проги. да и не может он... Мне больше интересно, КТО же по адресу 000041FE хочет прочитать адрес FFFFFFF9? Это ж кто-то в самом заголовке проги... |
| Автор: z-END 19.10.2005, 09:57 |
| а я тебе говорю 80% что проблема в нем.. ты его удали и проверь долго чтоли? |
| Автор: allx 19.10.2005, 10:02 |
| z-END Удалил с главной формы. остался он только в потоке. Проблема осталась. ЗЫ. Я и сам понимаю что проблема в коде. только где и как искать? я хотел выяснить именно это! |
| Автор: z-END 19.10.2005, 10:17 |
| allx если вопросы "после чего это случилось" не дают никакой информации то тут два варианта: 1. как я уже сказал поодному удалять контролы, комментриовать куски кода вплоть до голого проекта и каждый раз проверять появляется AV или нет. 2. создавать копию проекта и добавлять по одному контролы и код при этом проверяя есть AV или еще нет |
| Автор: Albinos_x 19.10.2005, 10:44 | ||
тоже думаю, что глюк где-то здесь. Проверь порядок уничтожения объекта... возможно есть попытка работы с ним после уничтожения... |
| Автор: Alex 19.10.2005, 15:54 |
| http://forum.vingrad.ru/index.php?act=Help&CODE=01&HID=17 |
| Автор: allx 19.10.2005, 19:04 |
| Alex Смешно Я разобрался только что кстати. Вобщем проблема была в вызове API - функции, которая по указанному адресу записывала определенное кол-во данных. Вобщем я когда писал - "схитрил", вместо указателя на массив байт подсовывал ф-ии сразу указатель на переменную. вроде работало нормально |
| Автор: Alex 19.10.2005, 21:00 | ||
По больше бы таких думающих |
| Автор: allx 20.10.2005, 18:52 |
| АН НЕТ!!! проблема была в другом! Вот скажите мне пожалуйста. В чем собсно проблема? Есть статический массив чисел. Объявлен публичным в форме intv: array[1..255] of integer; заполняются в среднем 2-3 первых элемента. по много раз. (по 20-30 раз за операцию). заполняется исключительно из потока. ессно путем synchrinize(); |
| Автор: _hunter 20.10.2005, 19:13 |
| если первых -- значит в 0-й элемент пишеш... |
| Автор: allx 20.10.2005, 19:53 |
| _hunter гыыы. пора мне покупать очки |