Вниз
Скачать: CL | DM;

Создание и удаление компонентов в run-time   Найти похожие ветки 

 
Lamerr_ ©   (2002-11-08 13:40) [0]

Доброе время суток.
Код:
for i:=0 to 10 do
begin
rgAxis[i]:=TRadioGroup.Create(nil);
with rgAxis[i] do
begin
Parent:=sbAxis;{ScrollBox}
Visible:=True;
Tag:=i;
OnClick := GBClick;
end;
end;
создает массивчик RadioGroup, который потом нужно уничтожить:
for i:=0 to 10 do rgAxis[i].Free;
При попытке уничтожить получаю сообщение Access violation...

Что сделал не правлильно?
Помогите, пожалуйста.


 
TTCustomDelphiMaster ©   (2002-11-08 13:49) [1]

rgAxis - глобальная переменная?


 
Ihor Osov'yak ©   (2002-11-08 13:52) [2]

непонятно, что за зверь rgAxis; как создан, отведены ли там места этих одинадцать экземпляров. Непонятно, также где Вы делаете уничтожение.

Также, почему бы не делать rgAxis[i]:=TRadioGroup.Create(self);
и не заботится об уничтожении (я исхожу из того, что код этод -
метод формы или фрейма).


 
Lamerr_ ©   (2002-11-08 13:52) [3]

rgAxis - глобальная переменная



 
Lamerr_ ©   (2002-11-08 13:59) [4]

rgAxis[i] - динамический массив, места там есть.
Уничтожение делаю в обработчике события кнопки.


 
Ihor Osov'yak ©   (2002-11-08 14:06) [5]

2 Lamerr_ © (08.11.02 13:59)

Интересно было бы взглянуть на код инициализации глобального дин массива.

Во вторых, Вы уверенны, что обработчик в силу каких-то непонятных причин не срабатывает два раза?

На тот случай, а лучше всегда, делать примерно так:



for i:=0 to 10 do begin
if assigned(rgAxis[i]) then begin
rgAxis[i].Free;
rgAxis[i]:=nil;
end;

end;

естественно, в коде инициализации масива загнать в него nil.




 
Lamerr_ ©   (2002-11-08 14:15) [6]

2 Ihor Osov"yak © (08.11.02 14:06)
SetLength(rgAxis,10){то, что касается инициализации}
А обработчик срабатывает тольк раз. Проверял точками останова.


 
Игорь Шевченко ©   (2002-11-08 14:18) [7]


> SetLength(rgAxis,10){то, что касается инициализации}


SetLength(rgAxis,11)


 
Александр Спелицин ©   (2002-11-08 17:24) [8]

http://www.delphikingdom.com/helloworld/runtime_comp.htm



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

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



Память: 0.46 MB
Время: 0.013 c
1-59098
SiaCD
2002-11-08 02:11
2002.11.18
как завершить программу в Form1.FormCreate.....form1.close


3-59042
KonstVD
2002-10-28 15:43
2002.11.18
запрос на большую базу


1-59213
irmantukas
2002-11-06 00:54
2002.11.18
StringGrid


6-59316
Legran
2002-09-22 18:01
2002.11.18
Любителям SQL и не только...


14-59334
Sers
2002-10-31 15:23
2002.11.18
Функторы




   Наверх