Вниз
Скачать: 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.977 c
3-1100855499
WolandUSSR
2004-11-19 12:11
2004.12.19
Смена пароля в Access через Delphi


4-1099920881
Wontar
2004-11-08 16:34
2004.12.19
COM1. Определитель Номера.


1-1102432913
_Дельфин_
2004-12-07 18:21
2004.12.19
Как создать архиватор?


3-1100762606
Term
2004-11-18 10:23
2004.12.19
Автоинкремент своими руками


3-1100770993
Dmitriy O.
2004-11-18 12:43
2004.12.19
Как избежать зависания при SQL из таблицы.




   Наверх