Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

InsertComponent   Найти похожие ветки 

 
operator   (2003-11-02 19:13) [0]

Доброго времени суток. Вопрос не сложный. Я думаю, что в приведенном коде все нормально. Однако сомнение есть - уничтожит ли форма контролы в деструкторе? Прошу высказать своё булевское мнение.

with TForm.Create( Self ) do
try
InsertComponent( TListBox.Create( nil ) );
with TListBox( Components[0] ) do
begin
Parent := TWinControl( Owner ); //здесь не ругается, все нормально дб
OnDblClick := DialogListBoxDblClick; //там TForm(TWinControl(Sender).Owner).ModalResult := True
//позиционирование несущественно
end;
InsertComponent( TButton.Create( nil ) );
with TButton( Components[1] ) do
begin
ModalResult := mrOk;
Parent := TWinControl( Owner );
end;
if ShowModal = mrOk then //...
finally
Free;
end;


 
Ihor Osov'yak ©   (2003-11-03 01:43) [1]

Булевское мнение - да.

ЗЫ. Но вот использование конструкций вида
with TButton( Components[1] ) do
имхо не есть очень хорошо - можно получить проблемы при изменении сходного кода.. Я бы ввел вспомагательную переменную..


 
Palladin ©   (2003-11-03 02:04) [2]

собственно по опасному пути идете, товарищь...
проще действительно создать временную переменную TComponent и пользоватся ей во избежании дальнейших проблем...

с точки зрения разработки тоже не очень хорошо получается...
не красиво когда код вызывающий диалоговое окно его же и формирует...
пусть окно формируется само, необходимые условия формирования можно передавать в параметрах...


 
Германн ©   (2003-11-03 02:44) [3]

А как хорошо все начиналось - "Вызываем в Москву" - {with TForm.Create( Self ) do}, и как плохо окончилось - "художественная самодеятельность"
{InsertComponent( TListBox.Create( nil ) );
with TListBox( Components[0] ) do}


 
Igorek ©   (2003-11-03 10:21) [4]

Вместо

> InsertComponent( TButton.Create( nil ) );

лучше писать TButton.Create(Form1)



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

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
14-41951
REA
2003-10-20 12:42
2003.11.13
Кладовка мусора


7-42148
SDW_syscoder
2003-09-03 11:05
2003.11.13
Работа с внешним девайсом через COM порт


1-41387
difkukan
2003-10-30 11:56
2003.11.13
Вопрос по Treeview


14-41900
Ломброзо
2003-10-21 13:58
2003.11.13
Jabberwock


4-42256
Немного не по теме
2003-09-17 23:49
2003.11.13
Немного не по теме