Вниз
Скачать: CL | DM;

Динамическая форма   Найти похожие ветки 

← →
Alexander_D6_XP   (2002-06-16 15:49) [0]

procedure TForm1.Button1Click(Sender : TObject)
var
F : TForm3;
begin
F := TForm3.Create(nil);
F.Caption := inttostr(random(65536));
F.Name := "F" + inttostr(random(65536));
F.Show;
end;

Вопрос:
Я таких форм могу сделать кучу! а как мне их
- всех убить
- доступиться до какой-нибудь? (F123.close нельзя!)


← →
Anatoly Podgoretsky ©   (2002-06-16 15:53) [1]

Объект Screen содержит список всех созданных форм


← →
Alexander_D6_XP   (2002-06-16 15:55) [2]

А как с ним работать?


← →
Anatoly Podgoretsky ©   (2002-06-16 15:59) [3]

Для начала хелп посмотреть, а потом если что будет непонятно приходить с конкретным вопросом, ты первое сделал?


← →
Alexander_D6_XP   (2002-06-16 16:14) [4]


T := TScreen.Create(nil);
Form1.Caption := inttostr(T.FormCount);
T.Free;

Получаю "0" при любом кол-ве форм!


← →
Anatoly Podgoretsky ©   (2002-06-16 16:21) [5]

Не надо это делать, объект уже создан при старте приложения


← →
MBo ©   (2002-06-16 16:22) [6]

1) Screen уже существует, создавать его не надо
2) при создании форм можно добавлять их в свой список


← →
Alexander_D6_XP   (2002-06-16 16:29) [7]

ок, всё понял, но это жизнь то не облугчило.

как мне до метода её добраться?


← →
Anatoly Podgoretsky ©   (2002-06-16 16:30) [8]

А как ты добираешься и до какого метода?


← →
Alexander_D6_XP   (2002-06-16 16:32) [9]

Screen.Forms[i].Close;


← →
Anatoly Podgoretsky ©   (2002-06-16 16:42) [10]

Да это закроет форму[I]


← →
Alexander_D6_XP   (2002-06-16 16:48) [11]

А если у меня на разных формах есть/нет Edit38, то как мне узнать на этапе трансляции, что он там точно есть?


← →
Anatoly Podgoretsky ©   (2002-06-16 16:59) [12]

Screen содержит список всех созданных форм, поэтому тебе доступны все характеристики напрямую, включая все компоненты на форме, это уже другой массив Components
Ты купил бы хоть какую нибудь книгу по Дельфи, а то плохо будет


← →
Alexander_D6_XP   (2002-06-16 18:15) [13]

Возможно воспользуюсь советом :)

Но теперь проблема как докапаться до компоненты!

form1.Caption := Screen.Forms[2].Components[2].Name;
- это работает, и я получаю необходимое имя, но как мне вызвать метод этого компонента? Например Едита?


← →
Polevi ©   (2002-06-16 18:16) [14]

FindComponent


← →
Anatoly Podgoretsky ©   (2002-06-16 18:22) [15]

Точно также как ты вызывал метод формыЮ через Forms, также массив Components содержит все компоненты, вызывай метод напрямую


← →
~Rand~ ©   (2002-06-16 19:19) [16]

Удалено модератором


← →
Alexander_D6_XP   (2002-06-16 20:28) [17]

Спасибо, вроде всё заработало :)



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.009 c
1-88805
Cygnus
2002-06-14 10:19
2002.06.27
Количество видимых строк в DBGrid


4-89084
San188
2002-04-29 02:06
2002.06.27
Перезагрузка компа


1-88866
Good Man
2002-06-17 21:29
2002.06.27
Как получить TextRange конкретного фрейма в TWebBrowser?


8-88957
Lider
2002-02-14 22:52
2002.06.27
Вывод картинки (TImage) на видео (TMediaPlayer)


14-89040
Кулюкин Олег
2002-05-24 10:02
2002.06.27
По какому ГОСТу оформляется отчеты о разработке ПО?




   Наверх