Форум: "Основная";
Текущий архив: 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