Вниз
Скачать: 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.029 c
8-1096109970
Zeqfreed
2004-09-25 14:59
2004.12.19
AVI, WAV, потоки и ресурсы


8-1095874400
debuger
2004-09-22 21:33
2004.12.19
Ненормальный TCanvas


1-1102075168
Muhan
2004-12-03 14:59
2004.12.19
Как в StringGrid реагировать на щелчок правой кнопки мыши?


3-1100638866
miwa
2004-11-17 00:01
2004.12.19
Укажите, пожалуйста, на ошибки в проектировании БД для небольшой


4-1099409218
Vladik
2004-11-02 18:26
2004.12.19
Что тут неверно в функции API




   Наверх