Как удалить программно TabSheet на PageControl

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Как удалить программно TabSheet на PageControl

Сообщение jurdan » 10.10.2007 04:07:23

Как удалять вкладки на PageControl во время работы программы?
Пытался так
Код: Выделить всё
PageControlTest.ActivePage.Free;

становится активной предыдущая, а вкладка не удаляется. Если попытаться её выбрать, выскакивает ошибка деления на ноль.
jurdan
незнакомец
 
Сообщения: 5
Зарегистрирован: 28.04.2007 05:42:56
Откуда: Украина, Харьков

Сообщение Attid » 10.10.2007 12:23:20

может сначало переключится на другую ручками а потом освобождать ?

тестовый пример в студию, отправлю в багтрекер.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение jurdan » 11.10.2007 00:32:13

Получается то же самое.
Вот мой тестовый пример:
Код: Выделить всё
unit Main;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ComCtrls, ExtCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    AddPage: TButton;
    DeletePage: TButton;
    PageControlTest: TPageControl;
    procedure AddPageClick(Sender: TObject);
    procedure DeletePageClick(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.AddPageClick(Sender: TObject);
begin
  with TTabSheet.Create(PageControlTest) do
  begin
   PageControl:=PageControlTest;
   Caption:='TabName';
   PageControlTest.ActivePageIndex:=PageIndex;
  end;

  with TMemo.Create(PageControlTest.ActivePage) do
  begin
    Parent := PageControlTest.ActivePage;
    Align := alClient;
  end;
end;

procedure TForm1.DeletePageClick(Sender: TObject);
begin
  PageControlTest.ActivePage.Free;
end;

initialization
  {$I Main.lrs}

end.

Если переключиться на другую вкладку, а потом удалить, то ошибки не возникает, но вкладка всё равно не удаляется
jurdan
незнакомец
 
Сообщения: 5
Зарегистрирован: 28.04.2007 05:42:56
Откуда: Украина, Харьков

Сообщение Attid » 11.10.2007 11:27:14

тестовый пример это когда в зипе 2 файла project1
и 3 файла unit1
=)

а это пример кода.

ev может всетаки разрешить присоединять файлы
сделать обьем не больше 512к и время хранения недельку ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: MailRu[bot] и гости: 40

Рейтинг@Mail.ru