|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.11.2008, 15:56 | #1 |
Пользователь
Регистрация: 12.11.2008
Сообщений: 11
|
конфликт файла записей и компонентов формы
Проблемка в следующем. Есть file of record. Записи имеют вид:
TQuestion = Record index:integer; tekst:string[255]; right:string[100]; wrong1:string[100]; wrong2:string[100]; wrong3:string[100]; quest: array [1..50] of TQuestion; Файл содержит базу данных с вопросами. Вопросы в произвольном порядке считываются и вместе с вариантами ответа передаются на форму. Вопрос отображается в Мемо, а ответы в RadioGroup. Засада в том, что все вопросы программкой обрабатываются нормально, но как только случайно выпадает вопрос №1, программа вылетает на строке indexxx:=Form2.radiogroup1.iteminde x; Ругаясь, на EAccessViolation! Помогите, пожалуйста... |
12.11.2008, 16:12 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
А то, что первый индекс в радиогруппе равен нулю, а не единице, вы учли?
|
12.11.2008, 18:18 | #3 |
New Delphi Coder
Форумчанин Подтвердите свой е-майл
Регистрация: 20.07.2008
Сообщений: 874
|
indexxx:=Form2.radiogroup1.iteminde x;
Для чего используется данная строка?
Страх это слабость и потому, кто испугался уже побежден.
|
12.11.2008, 18:18 | #4 |
Пользователь
Регистрация: 12.11.2008
Сообщений: 11
|
учел... со всеми записями нормально работает, а с нулевой (т.е. начальной в файле) не хочет... мож кусок кода поможет...
Код:
Так вот. Для всех событий проходит, а для нулевого в файле(когда num=1) при событии OnClick, т.е. когда пытаюсь сохранить, он падает на жирной строчке... и почему-то count он сам обнуляет... Последний раз редактировалось Deathwatcher; 12.11.2008 в 18:34. |
12.11.2008, 19:20 | #5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
"Падает" не на "жирной" строке, а на предыдущей:
num:=nomera[count-1]-1; Вот и ищите, почему у вас в индекс приходит count=0 (а в результате индекс получается равным -1). Приведенный кусок ни к чему - у вас раньше где-то ошибка. |
12.11.2008, 20:06 | #6 | ||
Участник клуба Подтвердите свой е-майл
Регистрация: 14.12.2007
Сообщений: 1,434
|
Цитата:
Цитата:
Исключение класса EAccessViolation генерируется во время выполнения при возникновении следующих ситуаций: Попытка разыменования нулевого указателя nil. Попытка записи в кодовую страницу. Попытка доступа к адресу вне памяти, распределенной приложению. В нашем случае косяк с radiogroup, наверно обращение идет к несуществующему обьекту (один из группы). Разбираться в чужом листинге это зло.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
|
||
13.11.2008, 10:27 | #7 |
Пользователь
Регистрация: 12.11.2008
Сообщений: 11
|
|
14.11.2008, 12:41 | #8 |
Пользователь
Регистрация: 12.11.2008
Сообщений: 11
|
Глюк победил... как не понимаю... вернулся на предыдущую версию программы и все кропотливо переписал... работаит!.. только одно не понятно... пытаюсь вынуть текст из RadioGroup, элемента, который выбирает пользователь... делаю это строкой
Код:
|
14.11.2008, 12:41 | #9 |
Пользователь
Регистрация: 12.11.2008
Сообщений: 11
|
Глюк победил... как не понимаю... вернулся на предыдущую версию программы и все кропотливо переписал... работаит!.. только одно не понятно... пытаюсь вынуть текст из RadioGroup, элемента, который выбирает пользователь... делаю это строкой
Код:
|
14.11.2008, 13:03 | #10 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
У вас что-то не в порядке. При чем тут Names?
Такая конструкция отрабатывает на раз: Label1.Caption:=RadioGroup1.Items[RadioGroup1.ItemIndex]; |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удалить заданое кол-во записей из указанного файла. | Ketu | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 12.06.2008 18:48 |
Настройка формы и компонентов | В_И_К_Т_О_Р | Помощь студентам | 2 | 05.02.2008 20:52 |
Типизированные файлы.Создание, удаление, редактирование, сортировка записей типизированного файла.Паскаль | Студент Шиза | Помощь студентам | 6 | 08.12.2007 13:41 |
Печать компонентов формы | monushka | Помощь студентам | 6 | 07.11.2007 19:30 |
обновление компонентов формы | fuv | Общие вопросы Delphi | 2 | 19.05.2007 16:51 |