Главная страница
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.035 c
2-1165507895
клоун
2006-12-07 19:11
2006.12.24
progressbar


2-1165150007
Handle
2006-12-03 15:46
2006.12.24
TTreeView


6-1153776477
decil
2006-07-25 01:27
2006.12.24
100-continue header и ISAPI приложение под WEB-Broker.


5-1145538059
Death_R
2006-04-20 17:00
2006.12.24
Доступк к БД без СУБД с помощью SQL


15-1165174447
SkySpeed
2006-12-03 22:34
2006.12.24
Что за прикол в С++???