Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1102005229
Unknown user
2004-12-02 19:33
2004.12.19
Соответствие классов


6-1097261876
Wish
2004-10-08 22:57
2004.12.19
Как осуществить поддержку прокси в своей программе?


14-1101474549
dr Tr0jan
2004-11-26 16:09
2004.12.19
Загрузка компьютера по таймеру


3-1101122095
vovik
2004-11-22 14:14
2004.12.19
dBase & ADO


14-1101378246
MrCorp
2004-11-25 13:24
2004.12.19
Задача с числами




   Наверх