Вниз
Скачать: 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.017 c
1-59142
Новенкий в Делфи
2002-11-08 05:51
2002.11.18
Что-то не понятное...(для меня)


1-59188
AlexT1000
2002-11-09 15:48
2002.11.18
Как установить свою ширину выпадающего списка в ComboBox?


4-59504
relict
2002-10-09 09:02
2002.11.18
отловить выключение компа


4-59499
Дмитрий Иванов
2002-10-04 16:24
2002.11.18
HOT-KEY в чужом окне


14-59405
Hlor
2002-10-31 01:21
2002.11.18
Как протестировать программу лучше всего?




   Наверх