Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.24;
Скачать: CL | DM;

Вниз

EnableControls- AccessViolation   Найти похожие ветки 

 
TrainerOfDolphins ©   (2006-12-04 13:10) [0]

Добрый день!
Есть примерно такой код:
with SomeIBTable do
 begin
    DisableControls;
       Filter:=Somestring;
       Filtered:=true;
    EnableControls;{AccessViolation Error}
 end;

Подскажите, пожалуйста, по какой причине  вообще может возникать данная ошибка при вызове EnableControls. Может установка фильтра тут и не причём...


 
TrainerOfDolphins ©   (2006-12-04 13:19) [1]

Таки когда закоментировал установку фильтра, ошибки не было...
Не возникает также ошибки тогда, когда таблица подключена к мастеру (даже при установке фильтра).


 
ЮЮ ©   (2006-12-04 13:19) [2]

Отладчик - самое грозное оружие против AV.
Включи "Use Debug DCUs" в обциях проекта, ReBuild его и в тот момент, когда AV возникает:
1) смотришь Call Stack - цепочку всех вызовов методов до проблемного
2) F7 после этого тоже работает.


 
TrainerOfDolphins ©   (2006-12-04 14:12) [3]


> Отладчик - самое грозное оружие против AV.
> Включи "Use Debug DCUs" в обциях проекта, ReBuild его и
> в тот момент, когда AV возникает:
> 1) смотришь Call Stack - цепочку всех вызовов методов до
> проблемного
> 2) F7 после этого тоже работает.

Да, это всё хорошо, но что мне искать в Call Stack? Я там понимаю половину :( того, что там написанно. Как мне по его сообщениям определить где я и почему лезу не в ту область памяти?


 
Сергей М. ©   (2006-12-04 15:02) [4]


> TrainerOfDolphins


Проблема - в содержимом Somestring.


 
Anatoly Podgoretsky ©   (2006-12-04 15:03) [5]

> Сергей М.  (04.12.2006 15:02:04)  [4]

Проблема вообще может быть за пределами данного кода.


 
Сергей М. ©   (2006-12-04 15:06) [6]


> Anatoly Podgoretsky ©   (04.12.06 15:03) [5]


Все может быть.


 
ЮЮ ©   (2006-12-05 03:01) [7]


> Да, это всё хорошо, но что мне искать в Call Stack?

Проследть цепочку вызовов приведшей к AV. Оно ведь может оказаться а каком нибудь обработчике  SomeIBTable, вызов которого не предполагался, а вовсе не в этом коде и даже в VCL-компоненте   Поставить бряк в потенционально опасном месте.
Дойти до места AV можно и по F7, поставив бряк на строке EnableControls;
Cама строка SomeIBTable.EnableControls - не место для AV.



Страницы: 1 вся ветка

Текущий архив: 2006.12.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.117 c
2-1165587005
fog
2006-12-08 17:10
2006.12.24
Закрытие программы


4-1155821441
apic
2006-08-17 17:30
2006.12.24
Короткий путь


15-1165082731
palva
2006-12-02 21:05
2006.12.24
Что-то не верится. Неужели так много?


2-1165299323
Клара
2006-12-05 09:15
2006.12.24
DBChart


15-1164840692
Фотто
2006-11-30 01:51
2006.12.24
Существуют ли он-лайн преобразователи паскаля в html ?