Главная страница
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.037 c
6-1091101829
Татьяна
2004-07-29 15:50
2004.10.10
Загрузка web-странички


4-1094025255
Alex870
2004-09-01 11:54
2004.10.10
Командный процессор


8-1090273441
Satan
2004-07-20 01:44
2004.10.10
Проблема AnalyzeBmp.Canvas.CopyRect(DestRect,Bitmap.Canvas,Rect);


3-1094468278
UnDISCOvery
2004-09-06 14:57
2004.10.10
Неожиданно опустела таблица Access с 40.000 записями!


4-1094432292
js
2004-09-06 04:58
2004.10.10
Вызов диалога "Выбор: Пользователь, Группа или Компьютер"