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

Вниз

Работа с динамически создаваемыми объектами.   Найти похожие ветки 

 
KPOT   (2005-01-23 02:26) [0]

Уважаемые мастера, я прочитал в инете что можно создать программу в основной (и модальных) форме которой нет ни одного уже созданного объекта, а они создаются во время работы программы по мере надобности. Как это делать я в инете не нашел, да и в хелпе тоже, так вот, я пробовал создавать объекты во время работы программы - все прекрастно работает. Загвоздка вот в чем - допустим создаем TListBox :


var
 L: TListBox;
 P: TWinControl;
begin
 L := TListBox.Create(Self);
 with TabbedNotebook1 do
 begin
   P := Pages.Objects[PageIndex] as TWinControl;
   L.Parent := P;
   L.SetBounds(10, 10, 100, 100);
   L.Items.Add(TTabPage(P).Caption);
 end;
end;


В программе при нажатии кнопки происходит выполнение некого кода в котором главную роль играет TlistBox. Компилятор ругается - мол нету такого объекта. Как исправить?


 
Dolt ©   (2005-01-23 02:35) [1]

L.name:="myListBox";

-----
Там, где обработчик нажатия кнопки пишем:
Var
L:TListBox;
begin
 L:=findComponent("myListBox");
If L<>nil Then Begin
 чего-то делаем...
 end;


 
Piter ©   (2005-01-23 02:36) [2]

KPOT   (23.01.05 2:26)
В программе при нажатии кнопки происходит выполнение некого кода в котором главную роль играет TlistBox


ну и где этот код?


 
ЮЮ ©   (2005-01-24 05:15) [3]

Когда ты кидаешь компонент на форму, Delphi сама прописывает в uses формы имя модуля, где описан класс этого компонента. В твоем случае это надо сделать самостоятельно, например, посмотрев имя модуля в Help-е по этому компоненту


 
Юрий Зотов ©   (2005-01-24 09:12) [4]

> KPOT   (23.01.05 02:26)  

> Как исправить?

Сделать переменную L полем формы, а не локальной переменной метода (ведь за пределами метода такая переменная недоступна, а поле формы доступно всем ее методам).

> Dolt ©   (23.01.05 02:35) [1]

FindComponent придется использовать в каждом методе, где нужен доступ. В итоге получим сильное замедление работы.


 
KSergey ©   (2005-01-24 09:16) [5]

Советую прочитать
http://www.delphikingdom.com/helloworld/runtime_comp.htm



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
3-1104821945
Нуждающийся в помощи
2005-01-04 09:59
2005.02.06
Использование IB в глобальных сетях


8-1098630702
Charly22
2004-10-24 19:11
2005.02.06
Связать TImage с GDI+


3-1105100023
Lucifer
2005-01-07 15:13
2005.02.06
Создание програмно псевданима DB MSAccess


14-1106036992
TUser
2005-01-18 11:29
2005.02.06
Комбо-привод


1-1106515128
Jilian
2005-01-24 00:18
2005.02.06
хочу сделать непрозрачной дочернюю форму