Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.02.2014, 22:56
Аватар для JunkieBeat
JunkieBeat JunkieBeat вне форума
Прохожий
 
Регистрация: 01.02.2013
Сообщения: 48
Версия Delphi: Delphi7 Lite Ed
Репутация: 10
По умолчанию EaccessViolation при удаление дин. компанента

Есть свой компонент, унаследован от панели,он создается динамически,а при удаление выдает ошибку EAccessViolation вот место удаления
Код:
procedure TForm2.TabClose(Sender: TObject);
var
  i,l:integer;
begin
  l:=TButton(Sender).Parent.Left;
  if (l<>1) then
  begin
    addPage.Left:=addPage.Left-150; //ñäâèãàåì êíîïêó " íîâàÿ âêëàäêà"
    BallPage.Left:=BallPage.Left-150; //ñäâèãàåì êíîïêó " îñòàëüíûå âêëàäêà"
    for i:=0 to wbhead.ComponentCount-1 do
    begin
      if(wbhead.Components[i].Tag<>0) and (TPanel(wbhead.Components[i]).Left>l) then
      TPanel(wbhead.Components[i]).left:=TPanel(wbhead.Components[i]).left-150;
    end;
  end;
   // TChromium(activepage.GetBros).Free;
    TButton(Sender).Free;
    if activepage=TmyTabPanel(Sender).Parent then activepage:=nil;
    TmyTabPanel(Sender).Parent.Destroy;//ВОТ ТУТ САМА ОШИБКА     free тоже самое выдает
end;

вот код компонента
Код:
unit myTabPanel;

interface

uses
  SysUtils, Classes, Controls, ExtCtrls,StdCtrls;

type
  TmyTabPanel = class(TPanel)
  private
    FInd:string;
    FAdress:string;
    FBrow:TObject;
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create (AOwner:TComponent);override;
    destructor Destroy ();override;
    //destructor Destroy 
  published
    property Ind:string read FInd write FInd;
    property Adress:string read FAdress write FAdress;
    procedure SetBrows(obj:TObject);
    function GetBros:TObject;
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('MyComp', [TmyTabPanel]);
end;

{ TmyTabPanel }

constructor TmyTabPanel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end;

destructor TmyTabPanel.Destroy;
begin
  FBrow.Free;
  inherited;
end;

function TmyTabPanel.GetBros: TObject;
begin
Result:=FBrow;
end;

procedure TmyTabPanel.SetBrows(obj: TObject);
begin
FBrow:=obj;
end;

end.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:34.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025