Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Как удалить закладку 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
1-1095798519
][ncognito
2004-09-22 00:28
2004.10.10
New()


4-1094731421
Aleksandr
2004-09-09 16:03
2004.10.10
Запуск программы при выключении компьютера


1-1095695552
volser
2004-09-20 19:52
2004.10.10
Редактирование ресурсов exe


1-1095773917
vigo
2004-09-21 17:38
2004.10.10
Если кто работал с юлианской датой...


8-1090222118
Ricko
2004-07-19 11:28
2004.10.10
Автоматизация вещания радиостаниции