Не срабатывает «ItemIndex:=-1»
Модератор: Модераторы
Не срабатывает «ItemIndex:=-1»
Всем доброго времени суток.
Возникла такая проблема. Имеется TRadioGroup с пятью элементами. В инспекторе объектов свойство ItemIndex установлено «-1». Тем не менее, по умолчанию выбран первый элемент. Если свойство ItemIndex в инспекторе объектов заменить на что-то другое, то обратно «-1» поставить уже не даст — будет автоматом заменять на «0». Код «RadioGroup.ItemIndex:=-1;» тоже не срабатывает — если выбран первый элемент, то ничего не происходит, если же выбран какой-либо другой элемент, то данный код выбирает первый вариант.
Не знает ли кто, как исправить эту проблему? Я пишу программу-тестер, и мне не надо, чтоб при загрузке следующего вопроса первый вариант ответа выбирался автоматически.
ОС — Xubuntu 12.04.
Lazarus 0.9.30.2-2
FPC 2.4.4
P.S. При компиляции под XP такой проблемы не наблюдается — выделение благополучно исчезает.
Возникла такая проблема. Имеется TRadioGroup с пятью элементами. В инспекторе объектов свойство ItemIndex установлено «-1». Тем не менее, по умолчанию выбран первый элемент. Если свойство ItemIndex в инспекторе объектов заменить на что-то другое, то обратно «-1» поставить уже не даст — будет автоматом заменять на «0». Код «RadioGroup.ItemIndex:=-1;» тоже не срабатывает — если выбран первый элемент, то ничего не происходит, если же выбран какой-либо другой элемент, то данный код выбирает первый вариант.
Не знает ли кто, как исправить эту проблему? Я пишу программу-тестер, и мне не надо, чтоб при загрузке следующего вопроса первый вариант ответа выбирался автоматически.
ОС — Xubuntu 12.04.
Lazarus 0.9.30.2-2
FPC 2.4.4
P.S. При компиляции под XP такой проблемы не наблюдается — выделение благополучно исчезает.
Оно?
http://bugs.freepascal.org/view.php?id=20510
Вышеуказанная ошибка была исправлена в версии 0.9.31 и выше. Обновляйтесь и проверяйте.
http://bugs.freepascal.org/view.php?id=20510
Вышеуказанная ошибка была исправлена в версии 0.9.31 и выше. Обновляйтесь и проверяйте.
У меня такое ощущение, что это - "обратная" ошибка: по логике, когда ItemIndex = -1, ничего не должно быть выделено, а под Win выделяется первый элемент (т.е. это - не глюк Linux, а глюк Win). Когда он выделен, ItemIndex должен быть 0.
Возможно. В любом случае, если в 1.1 воспроизводится, то прямая дорога в багтрекер.
Максим писал(а):Вышеуказанная ошибка была исправлена в версии 0.9.31 и выше. Обновляйтесь и проверяйте.
А можно ссылку на сайт, откуда можно обновиться? Офсайт Лазаруса предлагает версию 0.9.30.4 в качестве новейшей («Looking for the latest version? Download lazarus-0.9.30.4.i386.deb.tar (73.1 MB)»). В репозиториях тоже 0.9.31 нет (добавлял репозиторий Лазаруса, как и описано здесь).
Поставил 0.9.31, но проблема так и не решилась...
Заметил, что если TRadioGroup перетащить на форму с панели компонентов, то хоть первый элемент и выбран, но команда radiogroup1.itemindex:=-1 всё-таки исправляет ситуацию. Когда же TRadiogroup создан динамически (r:=tradiogroup.Create(form1); r.Parent:=form1; r.left:=8; r.top:=8; r.width:=200; r.height:=100; r.items.add('unus'); r.items.add('duo');), то эта команда так и не срабатывает...
Заметил, что если TRadioGroup перетащить на форму с панели компонентов, то хоть первый элемент и выбран, но команда radiogroup1.itemindex:=-1 всё-таки исправляет ситуацию. Когда же TRadiogroup создан динамически (r:=tradiogroup.Create(form1); r.Parent:=form1; r.left:=8; r.top:=8; r.width:=200; r.height:=100; r.items.add('unus'); r.items.add('duo');), то эта команда так и не срабатывает...
Напишите в багтрекер, приложив небольшой тестовый пример.
На багтрекере отписался. Что-ж, будем надеяться, что это пификсят.
