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

Вниз

Как обратиться к компонентам через индексы из модуля другой формы   Найти похожие ветки 

 
lirjin ©   (2003-02-20 14:10) [0]

Будьте добры, подскажите кто-нибудь что надо изменить в коде для Delphi 5

for i=1 to 5 do
TPanel(FindComponent("Panel"+IntToStr(i))).Visible:=True

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

TPanel(FindComponent("Form1.Panel"+IntToStr(i))).Visible:=True

- не проходит.
Заранее спасибо.


 
Anatoly Podgoretsky ©   (2003-02-20 14:19) [1]

Нужна переменная, а что за мазохизм размещать это в другом модуле


 
lirjin ©   (2003-02-20 14:27) [2]

Что-то типа:

var Component:TPanel;

for i:=1 to 5 do
begin
Component:=FindComponent("Form1.Panel"+IntToStr(i));
Component.Visible:=True;
end;

- сойдет?


 
kaif ©   (2003-02-20 14:48) [3]

Метод FindComponent является методом класса TComponent, в том числе его таких потомков, как TForm. Когда ты пишешь в модуле формы Form1:

for i=1 to 5 do
TPanel(FindComponent("Panel"+IntToStr(i))).Visible:=True

то на самом деле компилятор имеет в виду
for i=1 to 5 do
TPanel( Form1.FindComponent("Panel"+IntToStr(i))).Visible:=True

Поэтому ты можешь запустить этот код в таком виде из любого другого модуля, если в uses укажешь Unit1, в которм товоя Form1 объявлена.


 
kaif ©   (2003-02-20 14:52) [4]

2 lirjin © (20.02.03 14:27)
Совершенно неправильный код.
FindComponent("Form1.Panel"+IntToStr(i));
никогда не заработает, потому что в названиях компонентов не могут присуствовать точки. Никакого компонента с именем
"Form1.Panel1"
в системе не существует.
Существует компонент с именем "Panel1", которым владеет компонент "Form1" и поэтому содержит его в списке Components[].
А метод формы FindComponent всего лишь ищет компонент в данном списке.




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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
14-5731
Muxaul
2003-02-15 13:01
2003.03.03
Работа с файлами


14-5741
Vitek
2003-02-15 23:06
2003.03.03
Каталоги


3-5457
mate
2003-02-13 17:41
2003.03.03
Упорядочить Grid


14-5759
kostya2000
2003-02-14 21:52
2003.03.03
Рыба-пила... Алкоголичка... :(


14-5833
V-Isa
2003-02-12 19:10
2003.03.03
Нет такой программы, которую нельзя было бы сделать ...