Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
ВнизКак удалить закладку PageControla во время выполнения прг ? Найти похожие ветки
← →
Slaga © (2004-09-20 20:32) [0]Есть PageControlс 3 закладками, а мне одну нужно удалить, в рантайме.
Как это правильно сделать ?
← →
Anatoly Podgoretsky © (2004-09-20 20:33) [1]Все компоненты можно удалять с помощью Free
← →
Slaga © (2004-09-20 20:39) [2]Да, но когда я так делаю, я теряю возможность переходить между табами, Аксес виолатио :(
← →
VMcL © (2004-09-20 20:55) [3]>>Slaga © (20.09.04 20:39) [2]
Значит, неправильно делаешь.
← →
Slaga © (2004-09-20 20:57) [4]А как надо, я ж спрашиваю!
← →
Defunct © (2004-09-20 21:03) [5]Может достаточно просто скрыть?
← →
Fedia (2004-09-21 01:55) [6]>А как надо, я ж спрашиваю!
Скорее всего ошибка возникает при попытке уничтожения не существующей закладки PageControl. Хотя точно тебе никто не скажет, можно только попытаться угадать.
Создай новой проект, PageControl с тремя закладками и выполни:
PageControl1.Pages[2].Free; Ты увидишь как это сработает, а следовательно ошибка у тебя в коде. Если не можешь ее выявить визуально и в пошаговом режиме, то комментируй свой код по частям, до тех пор, пака не закомментируешь ту часть кода, без которой ошибка исчезнет.
← →
Goorus © (2004-09-21 03:53) [7]Создание в рантайме:
Page:=TTabSheet.Create(PageContr);
PageContr.InsertControl(Page);
Page.PageControl:=PageContr;
Page.PageIndex:=Number;
// возможно что-то и не нужно
Удаление:
Page.Free;
PageContr.Update;
← →
VMcL © (2004-09-21 10:51) [8]>>Slaga © (20.09.04 20:57) [4]
>А как надо, я ж спрашиваю!
"И не надо так кричать, я и так всё прекрасно слышу" © Кролик из м/ф
Хочешь помощи - приводи свой код, чтобы было, что обсуждать.
← →
Slaga © (2004-09-21 12:06) [9]>>Goorus © (21.09.04 03:53) [7]
Это я сейчас попробую, спасибо.
>>to All
У меня удалить то все получается, у меня после удаления не получается перейти на любую другую закладку, у меня такое подозрение что этим free, я удаляю что-то болше чем 1 закладку.PageControl.Pages[PageControl.ActivePageIndex].Free;
← →
basken (2004-09-21 13:42) [10]
> У меня удалить то все получается, у меня после удаления
> не получается перейти на любую другую закладку, у меня такое
> подозрение что этим free, я удаляю что-то болше чем 1 закладку.
>
> PageControl.Pages[PageControl.ActivePageIndex].Free;
У PageControl(если он TPageControl) нет свойства ActivePageIndex...
PageControl.Pages[PageControl.ActivePage.PageIndex].Free; намана удаляет, и переходы после удаления наманые...
← →
basken (2004-09-21 13:51) [11]можно еще так
var
DeletedTabSheet: TTabSheet;
begin
DeletedTabSheet := PageControl.ActivePage;
FreeAndNil(DeletedTabSheet);
← →
Slaga © (2004-09-21 15:00) [12]А я все понял.
У меня ж еще компоненты были на Табе, а я сначала удалял таб, а потом пытался компонентам переприсвоить парента :))
Да, видать, мысль вчера в голову не шла.
Всем спасибо :))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c