Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 04:26 31.05.24 
Клубове/ Компютри и Интернет / Delphi Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Къде се губи Parent-ът
Автор NikB (любопитен)
Публикувано13.08.04 18:46  



Кой знае с тия алкохолни вечери къде листата ми пречат да видя гората.
:
D5

Накратко:
Правя си някакъв tComboBoxMy (runtime),
слагам го в един панел,
запълвам му Items.AddObject с някакви мои обекти
до тук: ОК - виждат се Items и си работи
по някое време решавам да изтрия панела (Free)
в пренаписания деструктур на tComboBoxMy ми казва, че липсвал parent (и то преди inheritet :).

По-поробно:
Направих си наследник на ComboBox (tComboBoxMy), който не е регистриран компонент - създавам си го RunTime и си го слагам в един Panel, който също е RunTime (ползвам фрейм, на който има няколко такива групи "Panel/Panel/ComboBoxMy") - това до тук не знам дали има значение.
Всеки ComboBox (след създаването си) се инициализира с Items.AddObject с обекти, създадени специално за целта.

При някаква случка трябва от фрейма да изтрия панелите и да създам нови (това се налага, защото броя на панелите може да е различен).

На моя tComboBoxMy му пренаписах деструктура, така че да освобождава обектите ми с

Strings_FreeObj(ComboBoxMy.Items);
където:

{}procedure Strings_FreeObj(aStrings: tStrings);
var
Obj : tObject;
k : integer;
begin
if aStrings<>nil then begin
for k:=0 to aStrings.Count-1 do begin
Obj:=aStrings.Objects[k];
FreeAndNil(Obj);
end;
aStrings.Clear;
end;
end;


Панелите ги трия, като обхождам Controls на фрейма (видя ли панел - правя му Free).
Както се очаква, по време на Free на панелите се вика и деструктора на комбо бокса ми.
Е и тогава, в неговия деструктор, дори и в дизай мод не мога да видя Items.Count - пише exception в Watch list, а като го изпълня ми казва, че липсвал парента на комбо бокса.
Къде ли съм оплескал работата?



Цялата тема
ТемаАвторПубликувано
* Къде се губи Parent-ът NikB   13.08.04 18:46
. * Re: Къде се губи Parent-ът VladoVasilev   15.08.04 16:02
. * Да, но това е друг проблем NikB   15.08.04 17:15
. * Re: Опитай така. bateAz   15.08.04 17:21
. * Да, пробвах NikB   15.08.04 19:13
. * Re: Да, пробвах bateAz   15.08.04 19:33
. * НАЙ-ВЕРОЯТНО: НЯКАКВО ПРОТИВОРЕЧИЕ OWNER<>PARENT NikB   15.08.04 21:42
. * Впрочем, там парентът си е нил:) NikB   15.08.04 21:43
. * Re: Къде се губи Parent-ът Maze   11.05.05 00:07
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.