Добрый вечер всем!
Неприятная вещь обнаружилась, работая с компонентом PageControl - при удалении вкладки возможно появление Runtime error.
Вот схема:
code_34399.txt
Порядок действий:
1. Нажимаем дважды на кнопку Add (создаем две вкладки);
2. Выбираем вторую вкладку;
3. Нажимаем Delete и получаем Runtime error.
В чем может быть дело и как это, собственно исправить? Пока докопался до того, что вероятнее всего чудит метод TC_Delete в KOL'е.
Этот топик читают: Гость
Ответов: 1161
Рейтинг: 160
|
|||
карма: 0 |
| ||
файлы: 1 | code_34399.txt [1.2KB] [504] |
Ответов: 16884
Рейтинг: 1239
|
|||
LainX, ищи у себя.Всё работает нормально без никаких Runtime error
Kol от Galkov-а, компилятор Delphi, win 7. |
|||
карма: 25 |
|
Ответов: 1328
Рейтинг: 69
|
|||
Tad писал(а): LainX, ищи у себя.Всё работает нормально без никаких Runtime errorKol от Galkov-а, компилятор Delphi, win 7. Аналогично |
|||
карма: 2 |
|
Ответов: 2292
Рейтинг: 678
|
|||
LainX писал(а): получаем Runtime error. |
|||
карма: 11 |
|
Ответов: 704
Рейтинг: 44
|
|||
|
|||
карма: 0 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
ЕМНИП, то этот вопрос уже поднимался. Лечится предварительной выборкой 0-й страницы перед удалением любой другой
-- тут была битая схема -- |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Сравните, кому не лень, с моими файлами. Почему-то у меня удаляет спокойно и без предварительной выборки 0-й страницы.
Проверял с разными kol (Kladov, Galkov) и компиляторами Delphi 4, Delphi 7, FPC в разных комбинациях. |
|||
карма: 25 |
| ||
файлы: 1 | testpagecontrol.rar [2.3KB] [291] |
Ответов: 9906
Рейтинг: 351
|
|||
Tad писал(а): Сравните, кому не лень, с моими файламиУ тебя в INI непонятный какой-то Color... Остальное - совпадает. В т.ч., и результат: "удаляет спокойно и без предварительной выборки 0-й страницы." ------------ Дoбавленo в 16.08: nesco писал(а): этот вопрос уже поднималсяВроде бы - ДА. Но чем все кончилось - убей, не помню... |
|||
карма: 9 |
| ||
Голосовали: | Tad |
Ответов: 1161
Рейтинг: 160
|
|||
nesco писал(а): ЕМНИП, то этот вопрос уже поднимался. Лечится предварительной выборкой 0-й страницы перед удалением любой другойК сожалению такой вариант не избавляет от ошибки: добавляем три вкладки, удаляем третью и выбираем вторую - снова runtime error. code_34407.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_34407.txt [1.5KB] [409] |
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Попробуй еще так
|
|||
карма: 22 |
|
Ответов: 1161
Рейтинг: 160
|
|||
nesco, если сменить индекс удаляемой страницы с 1 на 2, то ошибка все равно появляется.
------------ Дoбавленo в 00.47: Собственно, я нашел решение этой проблемы (правда с помощью костыля). Проблема в PagePanel, а точнее в его событии onChange. Если его переопределить, то никаких ошибок не выдает (по крайней мере у меня). Возможно у Tad'а не было этого события, и поэтому все работало нормально.
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Событие по Add |
|||
карма: 25 |
| ||
файлы: 1 | lainx_1.png [38.6KB] [543] |
12