Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
15-1165265831
Kolan
2006-12-04 23:57
2006.12.24
Пишем программы по русски?


9-1140717517
Очень Новичок
2006-02-23 20:58
2006.12.24
DXPlay или Client, Server Socket


15-1165341922
Kolan
2006-12-05 21:05
2006.12.24
Тут у меня спросили чем паттерн от template отличается.


1-1162970612
Димыч
2006-11-08 10:23
2006.12.24
Resize формы (BorderStyle = bsNone)


11-1141637320
nOvell&K
2006-03-06 12:28
2006.12.24
Проблема с максимизацией MDIChild




   Наверх