Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
4-1155593723
Sergey_FV
2006-08-15 02:15
2006.12.24
Quick Launch под NT


15-1164804697
iamdanil
2006-11-29 15:51
2006.12.24
Frontpage - удаленный веб-узел


15-1165243674
zdm
2006-12-04 17:47
2006.12.24
"Красота Висты"


1-1163069924
Choco
2006-11-09 13:58
2006.12.24
Убрать заголовок формы


15-1164966092
Romkin
2006-12-01 12:41
2006.12.24
Еще задача по программированию





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский