Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.053 c
14-42036
*pavel
2003-10-16 09:29
2003.11.13
Лечение Novell


1-41403
ARTEMKA
2003-10-28 23:29
2003.11.13
Невидимая панелька TPanel


1-41328
denis24
2003-10-30 17:56
2003.11.13
button в ячейке стрингрида


14-42096
Troll`
2003-10-23 11:34
2003.11.13
Чистоты звука


4-42253
waw
2003-09-09 15:46
2003.11.13
Добавление страниц свойств IShellPropSheetExt





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский