Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

компиляция копии... -> access violation [Delphi, Windows]


RusSun ©   (2010-02-25 20:36:00) 

Почему копия рабочего кода программки, никаких изменений в код не добавлял, Просто скомпилировал в новом, выдает ошибку
programm.exe fauled with message
"access violation at ... : read of address ... . " ,происходит после нажатия кнопки Дальше >> ?
 
Вот в архив http://narod.ru/disk/18246597000/old.rar.html


RusSun   (2010-03-03 17:48:00) [1]

Доброе время суток:)

Нашел ошибку.
2Vladimir Kladov Спасибо, за верное направление:)
Тема закрыта.


RusSun   (2010-03-01 05:05:00) [2]

Почему нет? Сегодня утром попробовал. Открыл. компилировал.
И без проблем загрузил тест Delphi.tst Test4VCL вариантом.
Хотя минутку почему с второго раза выводит ошибку как у Вас.
Вот снова проделываю тоже самое, но теперь нормально.
Странно:( Да что не так?


Vladimir Kladov   (2010-02-28 21:38:00) [3]

Да нет, не позволяет. При нажатии на Далее:
---------------------------
Debugger Exception Notification
---------------------------
Project Test.exe raised exception class EListError with message 'List index out of bounds (983270161)'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help  
---------------------------


RusSun   (2010-02-28 20:54:00) [4]

Не знаю где ещё может быть ошибка.
Вот VCL  вариант исходник test'а на kol.
http://narod.ru/disk/18340877000/Test4VCL.rar.html
Код позволяет загружать тест Delphi.tst без ошибок. Всё тоже и но работает?


Vladimir Kladov   (2010-02-28 11:19:00) [5]

QuestionList.FCount что в первом сообщении что во втором = 8. А вот что вы в ResultCount имеете, это вам лучше знать.


RusSun   (2010-02-28 05:46:00) [6]

Снова  ссылка http://narod.ru/disk/18321563000/old2.rar.html
в архиве test_bez_oshibki.exe правильный
вчера попытался скачать по старой ссылке "обрезанным" закачался


RusSun   (2010-02-28 05:42:00) [7]

Посмотрел получается следующее:
procedure NextQuestion(Sender: PControl);
var
i:Integer;
begin

showmsg('кол-во солбцов в Liste до генерации '+int2str(QuestionList.Count-1),0);
Randomize;
Question:=Random(QuestionList.Count-1); showmessage('генирируем случайный номер вопроса '+int2str(Question));

  showmsg('кол-во солбцов в Liste '+int2str(PQuestion(QuestionList.Items[Question]).ResultCount-1),0);
QuestionLabel.Caption:=PQuestion(QuestionList.Items[Question]).Name;
QuestionCheckList.Clear;
 QuestionCheckList.LVColAdd('colum1',taleft,(QuestionCheckList.Width-4));
for i:=0 to min(10, PQuestion(QuestionList.Items[Question]).ResultCount-1) do
 QuestionCheckList.LVItemAdd(PQuestion(QuestionList.Items[Question]).ResiltText[i ]);

Inc(QuestionNumber);
end;

Запускаю выводит так:

кол-во солбцов в Liste до генерации 7

генирируем случайный номер вопроса 6

кол-во солбцов в Liste -1или кол-во солбцов в Liste 1078498303

отсюда и access violation
Как-то не правильно:(


RusSun   (2010-02-28 02:44:00) [8]

Спасибо Большое:)


Vladimir Kladov   (2010-02-27 23:18:00) [9]

Ну вы код писать.

for i:=0 to min(10,PQuestion(QuestionList.Items[Question]).ResultCount-1) do

Это первое, что увидел. Падать перестало. Падало в обоих версиях. Вы уж отслеживайте как-то выход за границы массивов.


RusSun   (2010-02-27 20:59:00) [10]

Настолько привык писать в D7, что не обратил на это внимания.

"(пере)устанавливать KOL"? - согласен, фраза не очень, но на тот момент других
мыслей не было:)
В том проекте стоит Read-only чтобы случаем не откомпилировать его повторно.
Дело в следующем если попытаться загрузить тест, то в одном случае появится
ошибка access violation после нажатия кнопки Дальше >>,а в другом нет.

вопрос появляется ли данная ошибка после компиляции при тех же условиях?


> Пути в списке свойств проекта я сразу удалил, заменил на
> c:\kol.

Попробую сократить путь как в вашем примере.


Vladimir Kladov   (2010-02-27 20:01:00) [11]

Все компилируется, и там и там. Вы даже не сказали, чем компилируете. Я проверил в Delphi 5, оба update от Borland на него установлены.

Если вы делаете проект в чисто KOL, то что означает фраза "(пере)устанавливать KOL"?

Зачем dpr (или другие файлы проекта) делать Read-only? Delphi это не нравится.

Пути в списке свойств проекта я сразу удалил, заменил на c:\kol.


RusSun   (2010-02-27 17:14:00) [12]

Добрый вечер.
Уточняю вопрос: возникает ли та же ошибка у тех кто скачал архив?
Или же мне нужно заново скачать кол 2.88 и устанавливать его заново?
Заранее Спасибо.


Наверх

Титульная страница Поиск, карта сайта Написать письмо