-
Почему копия рабочего кода программки, никаких изменений в код не добавлял, Просто скомпилировал в новом, выдает ошибку programm.exe fauled with message "access violation at ... : read of address ... . " ,происходит после нажатия кнопки Дальше >> ? Вот в архив http://narod.ru/disk/18246597000/old.rar.html
-
Добрый вечер. Уточняю вопрос: возникает ли та же ошибка у тех кто скачал архив? Или же мне нужно заново скачать кол 2.88 и устанавливать его заново? Заранее Спасибо.
-
Все компилируется, и там и там. Вы даже не сказали, чем компилируете. Я проверил в Delphi 5, оба update от Borland на него установлены.
Если вы делаете проект в чисто KOL, то что означает фраза "(пере)устанавливать KOL"?
Зачем dpr (или другие файлы проекта) делать Read-only? Delphi это не нравится.
Пути в списке свойств проекта я сразу удалил, заменил на c:\kol.
-
Настолько привык писать в D7, что не обратил на это внимания.
"(пере)устанавливать KOL"? - согласен, фраза не очень, но на тот момент других мыслей не было:) В том проекте стоит Read-only чтобы случаем не откомпилировать его повторно. Дело в следующем если попытаться загрузить тест, то в одном случае появится ошибка access violation после нажатия кнопки Дальше >>,а в другом нет.
вопрос появляется ли данная ошибка после компиляции при тех же условиях?
> Пути в списке свойств проекта я сразу удалил, заменил на > c:\kol.
Попробую сократить путь как в вашем примере.
-
Ну вы код писать. for i:=0 to min(10, PQuestion(QuestionList.Items[Question]).ResultCount-1) do Это первое, что увидел. Падать перестало. Падало в обоих версиях. Вы уж отслеживайте как-то выход за границы массивов.
-
Спасибо Большое:)
-
Посмотрел получается следующее: 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 Как-то не правильно:(
-
-
QuestionList.FCount что в первом сообщении что во втором = 8. А вот что вы в ResultCount имеете, это вам лучше знать.
-
-
Да нет, не позволяет. При нажатии на Далее: ---------------------------
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
---------------------------
-
Почему нет? Сегодня утром попробовал. Открыл. компилировал. И без проблем загрузил тест Delphi.tst Test4VCL вариантом. Хотя минутку почему с второго раза выводит ошибку как у Вас. Вот снова проделываю тоже самое, но теперь нормально. Странно:( Да что не так?
-
Доброе время суток:)
Нашел ошибку. 2Vladimir Kladov Спасибо, за верное направление:) Тема закрыта.
|