Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];
ВнизРабота с динамически создаваемыми объектами. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c