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

Вниз

Access Violation - к чему бы это?   Найти похожие ветки 

 
Denisiy   (2003-12-19 16:11) [0]

День добрый, уважаемые.
Полдня мучился - не помогло, созрел вот..
Выскакивает AV. Если удаляю кусок кода - AV выскакивает в другом месте (немного выше или ниже чем в прошлый раз), причем на совершенно безобидных операциях...

Добавляю код - возникает позже... Никаких обращений к удаленным объектам или чего-то подобного

Подскажите хоть в какую сторону смотреть


 
Тимохов   (2003-12-19 16:13) [1]

В сторону кода!!!
Ау!!! Код, ты где?


 
Anatoly Podgoretsky   (2003-12-19 16:15) [2]

В сторону невалидных указателей, при том они могут быть в любом месте.


 
Denisiy   (2003-12-19 16:19) [3]

на пример сейчас вылетает здесь:
(там где **)
Даже не представляю, где могут быть глюки и в чем...

fl:=false;
Field:=Mainform.OrdersGrid.DataSource.DataSet.Fields[i].FieldName;
for j:=0 to VisList.Items.Count-1 do
begin
** if VisList.Items.Strings[j]=Field then
begin
// TempData[i]:=true;
data[i]:=true;
fl:=true;
break;
end;
end;


 
Юрий Зотов   (2003-12-19 16:22) [4]

> Denisiy © (19.12.03 16:19) [3]

А что, пройти отладчиком - не судьба?


 
Sandman25   (2003-12-19 16:23) [5]

[3] Denisiy © (19.12.03 16:19)

Перегрузите компьютер. Серьезно.


 
TUser   (2003-12-19 16:27) [6]

Отладчик. А также попробуй вспомнить, что ты изменил перед тем, как стал выскакивать AV. Попробуй заремить один участок кода, потом другой и т.д., пока не найдешь, что у тебя глючит.


 
olookin   (2003-12-19 16:37) [7]

а VisList создан до этого? Если не создан, то ошибка понятна...


 
Asteroid   (2003-12-19 16:38) [8]

А также посмотри на тип переменной j. А то вдруг там Byte, Word или Cardinal, а список пустой.


 
han_malign   (2003-12-19 16:48) [9]

> на пример сейчас вылетает здесь:
- ну-ну AV имеет тенденцию возникать не там где породилось...
Ищи где запарываешь стек(скажем при неправильной декларации импортируемой функции),или вылезаешь за границы массивов, для начала попробуй включить Range checking.


 
Denisiy   (2003-12-19 17:07) [10]

Отвечаю на вопросы : VisList - listbox, создан в design.

Похоже, где-то запарывается Vislist, хотя как и где...
Range Cheking включил - ничего не изменилось. От отладчика пока что толку не получил...

Еще идеи будут? А я пока ковыряться пойду..


 
olookin   (2003-12-19 17:10) [11]

А как создан VisList? Код какой?


 
Anatoly Podgoretsky   (2003-12-19 17:11) [12]

Denisiy © (19.12.03 17:07) [10]
То есть ты даже не знаешь в какой строке возникает исключение?


 
Sandman25   (2003-12-19 17:19) [13]

[10] Denisiy © (19.12.03 17:07)

Если было много AV, Delphi может начать "дурковать". Недавно парню пытались помочь победить AV при присвоении переменной. Вроде бы все правильно делает, а ошибка выскакивает и всегда в одном месте. Только перезагрузка помогла, когда уже больше ни на что другое не надеялись.


 
Digitman   (2003-12-19 17:27) [14]


> Delphi может начать "дурковать".


чегооооо ???!!!


 
Тимохов   (2003-12-19 17:29) [15]

Digitman © (19.12.03 17:27) [14]
Может-может.
Я тоже наблюдал такое, что если очень сильно насиловать программу, то дельфи некорректно начинает работать или вообще переодически срубается. Спасает закрыть/открыть дельфи.


 
Digitman   (2003-12-19 17:33) [16]

глупости)


 
Denisiy   (2003-12-19 17:34) [17]

Я ща распсихуюсь и вывешу,блин, оба юнита сюда.... Блин, мозги уже кипят...

Range Check ругаться начал... Переменная в цикле декрементируется вместо инкремента (цикл for)... Заменил на While - помогло, НО ПОЧЕМУ так?

Там вроде и не видно ничего подозрительного или похожего на выход из диапазонов (к тому же диапазон - тип, массивы этом диапазоне - тоже типы, если б где-то вылез за пределы - ругнулось бы про недопустимое для типа значение) ...


 
olookin   (2003-12-19 17:36) [18]

data[i]:=true;

А может у тебя тут должно j стоять?


 
Семен Сорокин   (2003-12-19 17:36) [19]

2Denisiy
где-то с памятью перемудрил, вот и валится в разных местах, пишешь куда не нужно.


 
Тимохов   (2003-12-19 17:38) [20]

Digitman © (19.12.03 17:33) [16]
Будет пример, когда срубается дельфи - обязательно тебе его приведу. У меня были примеры, когда полный билд до перезагрузки и после перезагрузки не совпадают по размеру и работают по разному. Чаще всего это проявлялось при мешании работы с объектами и интерфейсами.


 
Sandman25   (2003-12-19 17:38) [21]

[16] Digitman © (19.12.03 17:33)

Самое ужасное - это когда при попытке сохраниться пишет Access Violation in module delphi32.exe...


 
olookin   (2003-12-19 17:40) [22]

to Digitman

У меня например иногда "срубается" дельфи, когда я пытаюсь поискать слово во всех файлах проекта... Выдает Access violation... Удивляет?


 
Тимохов   (2003-12-19 17:43) [23]

Sandman25 © (19.12.03 17:38) [21]
olookin © (19.12.03 17:40) [22]
Граждане!
Digitman и не спорит с тем, что среда дельфи имеет ошибки.
Он не согласен с тем, что дельфя может в некторых случаях генерить неверный код. Я же утверждаю, что такое бывает - сам видел.


 
Sandman25   (2003-12-19 17:46) [24]

[23] Тимохов © (19.12.03 17:43)

Так и я о том же. См. [13]. Парень даже Delphi закрыл и открыл заново. Но и в следующий раз генерировался неверный код.


 
xli   (2003-12-19 17:55) [25]

а цикл по декременту работает при включении оптимизации. Ты ее отключи, для отладки оно полезнее, может и адрес появления исключения найти удастся.



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

Форум: "Основная";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.01 c
1-11958
Mip
2003-12-19 15:56
2004.01.05
Помогите с Word разобраться!


3-11840
Вольный Стрелок
2003-12-09 18:06
2004.01.05
Сравнение ADO и dbExpress


1-11987
AleKo
2003-12-19 07:24
2004.01.05
Добавить ресурс


14-12143
KILLER_ABV
2003-12-04 11:58
2004.01.05
Нужны скины для компонента SkinEngine


3-11815
kaif
2003-12-08 16:39
2004.01.05
Доступ к документам





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