Главная страница
    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
15-1165259045
Dree
2006-12-04 22:04
2006.12.24
Создать программу, на которой можно было бы заработать деньги!


1-1163268032
Redline
2006-11-11 21:00
2006.12.24
Нажатие клавиши через SendMessage


11-1141583047
Vladimir Kladov
2006-03-05 21:24
2006.12.24
Версия 2.34


1-1163143153
Sergey__
2006-11-10 10:19
2006.12.24
Работа со считывателем HID iClass


15-1165078398
Джо
2006-12-02 19:53
2006.12.24
Сигналы IR пультов управления для бытовой аудио-видео техники





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский