Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > Acces Violation! |
Автор: 4ert 14.4.2006, 20:49 |
Люди, помогите плиз!!!!!!!!!....... Вопрос такой,.... Да и не вопрос это вовсе........ Короче, ситуация такова. Решил я написать на delphi козла(игра карточная,если кто не знает),честно говоря я плоховато знаю Delphi,но всё же взялся......... И вот что обнаружилось,как бы выразиться..... короче говоря при выполнении программы некоторые функции(точнее почти все) изредка просто игнорируются, скажем у меня есть функция, регистрации вышедших карт,и удаления их из массива игрока(чтобы он не кидал их дважды),где-то в 17 раз из двадцати всё ништяк!!!1,но в оставшиеся три бот может воспользоваться выбывшей картой дважды, и даже трижды!!!!, в коде я уверен почти на сто(нехочу приводить исходник,просто я сомневаюсь, что у кого-то возникнет желание разбираться в 2332 строках кода...),и так происходит почти со всеми 20 вспомогательными функциями в моей программе.Улучшить ситуацию можно,вызвав в нужной ситуации нужную функцию дважды,или трижды,количество глюков стало значительно меньше(но все равно имелись...)...короче говоря, я продолжил писать, решил разобраться с этим позже. И вот сейчас я в принципе закончил всю думающую часть программы, и что я обнаружил?!, да то,что даже один кон не может закончиться без Acces Violation!,причем ошибка возникает не в одном месте(тогда бы я заметил в каком точнее при каком "раскладе",и сто процентов выявил бы браковую функцию),но ошибка(EAccesViolation(216)) теперь может вылетить когда угодно и где угодно(даже в самом начале).Я вообще плохо ознакомлен с работой памяти,но я понимаю,что эта ошибка возникает при обращении программы к неинициализированному участку памяти(из helpa),тогда возникает вполне законный вопрос начинающего ламера, как её инициализировать?............Возможно все дело в такой организации игры: у меня ..уева туча глобальных переменных и около двадцати функций, которые постоянно изменяют значения этих глобальных переменных, может из-за этого?...Ещё у меня вся логика бота построена на операторах for to do, и if then.Наконец у меня куча вызовов функций из самих функций,т.е. например главная функция программы(управляющая), запускает скажем функцию захода(первого хода), а та в свою очередь анализируя имеющиеся у игрока карты, запускает функцию поиска минмального козыря(если видит что остались одни козыря), я вообще молчу о вызвах таких вспомогательных функций как поиск подстроки,поиск максимального минмального элемента в массиве,замены подстроки и т.д.....а ещё вперемешку с 216-ой всё чаще появляется EStackOverlow.....Может быть ещё потому, что карты загружаются в объект TImage из файлов bmp,(вообще я хочу конечно создать res файл с ними,просто руки не дошли). Вот я прошу людей добрых,чтоб помогли мне понять из-чего и что, случается,а то у меня уже крыша съезжает,.....если кому-нибудь исходник понадобиться оставьте мыло, вышлю, ну или сами напишите на [email protected] |
Автор: Yanis 14.4.2006, 20:55 | ||
Какой ужас ![]() P. S. До конца не дочитал. Автор, примите к сведению.
|
Автор: Snowy 14.4.2006, 22:44 |
Душераздирающе. А теперь банальный вопрос: В чем проблема? Во всей этой куче буковок я не вижу вопроса. |
Автор: Yuran 15.4.2006, 00:13 |
да! Ну ты напиши по проще и тогда возможно тебе помогут! P.S. Я так и не понял в чём вопрос! Так что давай сокращай |
Автор: 4ert 18.4.2006, 03:08 |
То, что вы не видите вопроса это странно,....возможно это говорит о вашем некомпетентности..... я не хочу обидеть, просто я и на других форумах оставил это сообщение... и О,чудо!!!!!!------все, всё поняли и ответили, причём, будете смеяться, правильно!----а короче никак,либо перечислить в каких местах сомневаюсь я, либо приводить весь исходник, поверьте наслово, первое короче............ http://www.goldfaq.ru/modules/newbb/viewtopic.php?topic_id=2912&post_id=51822&order=0&viewmode=flat&pid=0&forum=7.....А ещё писали форум хороший..... |
Автор: Marlin 18.4.2006, 06:05 |
Ну и топай туда где тебя поняли. И нечего обвинять людей в некомпетентности, если сам в этом не разбираешься. Да к стати твоя ошибка может возникать из за обращения к массиву несуществующего элемента |
Автор: Yanis 18.4.2006, 07:43 | ||
offtop конечно, но я опять понял не всё ![]() |
Автор: Sunvas 18.4.2006, 07:52 | ||
Возникает вполне логичные вопрос: а нифиг ты этот вопрос еще и нам задаешь? |
Автор: Marlin 18.4.2006, 07:55 |
Sunvas - там наверное ему люди "Некомпетентно" ответили |