Главная страница
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.025 c
11-1080941112
DriveSoftware
2004-04-03 01:25
2004.10.10
Как создать вторую форму в проекте KOL+MCK


3-1095266849
dumitru
2004-09-15 20:47
2004.10.10
Range...


14-1095527647
Knight
2004-09-18 21:14
2004.10.10
Что стало с компактами?


6-1091270209
Боян Георгиев
2004-07-31 14:36
2004.10.10
Incorrect authentication data


1-1096035395
Still Swamp
2004-09-24 18:16
2004.10.10
ASM проблема пересылки данных