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

Вниз

Destroy   Найти похожие ветки 

 
Delphin ©   (2004-12-02 20:02) [0]

Hi All! Есть проблема, связанная с многооконным интерфейсом и массивом из компонент: При создании нового окна, создаю новую кнопку (из массива), при закрытии окна чничтожаю и кнопку и окно, при повторном закрытии получаю access violation
Создаю так:

var
 Form1: TForm1;
 Child: TForm;
 But:Array[1..199]of TButton;
 I,T:Integer;
....
procedure TForm1.Button2Click(Sender: TObject);
Var
Nh,NT,NST:Integer;
begin
Inc(I);
Child := TForm2.Create(Application);
Child.Caption := "Caption"+IntToStr(i);
Child.Tag:=I;
But[i]:=TButton.Create(panel3);
But[i].Parent:=Panel3;
But[i].Name:="Name"+IntToStr(i);;
But[i].Caption:="Caption"+IntToStr(i);
IF I>1 Then
But[i].top:=But[i-1].top+But[i-1].Height+2
Else
But[i].Top:=27;
But[i].Tag:=I;
IF I>1 Then
But[i].Height:=But[i-1].Height
Else
But[i].Height:=25;
But[i].OnClick:=ButClick;

IF But[i].Height*i+i*2 > Panel3.Height Then  Begin
For Nh:=1 To I Do
But[Nh].Height:=But[Nh].Height-1;
//End;
For NT:=2 To I DO
But[Nt].top:=But[Nt-1].top+ But[Nt].Height+1;

End;


а уничтожаю так:

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
(Form1.Panel3.Components[Form1.ActiveMDIChild.Tag] as TButton).Destroy;
Action:=CaFree;

end;


Мастера, в чём может быть проблема?


 
Anton_K ©   (2004-12-02 20:05) [1]

Кнопка уничтожается автоматически, когда уничтожается её хозяин.



Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.029 c
3-1100778813
kaktus
2004-11-18 14:53
2004.12.19
Хранение и обработка данных


1-1102070708
Mishenka
2004-12-03 13:45
2004.12.19
Компонент с PopupMenu


9-1085669345
Micah'GF
2004-05-27 18:49
2004.12.19
DelphiX: А вы не верили!?!


1-1102081219
Игорь нтк
2004-12-03 16:40
2004.12.19
Combobox


1-1101931887
Гость
2004-12-01 23:11
2004.12.19
Delphi 2005 - портится русский текст в Version Info