Вниз
Скачать: 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.012 c
4-59478
Керик
2002-10-04 21:42
2002.11.18
Иконка в трее


1-59166
Warl
2002-11-08 23:37
2002.11.18
Как определить дату и/или время создания каталога?


7-59452
Ал
2002-09-16 11:12
2002.11.18
Синхронизация часов РС с атомными часами


1-59256
kosdem
2002-11-04 08:22
2002.11.18
Сlock


7-59461
REA
2002-09-16 10:42
2002.11.18
File Cache




   Наверх