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

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.012 c
8-88964
bogus
2002-02-15 17:00
2002.06.27
3D редактор


3-88705
Timur_2002
2002-06-03 12:06
2002.06.27
Вопрос по InterBase


14-88996
Esu
2002-05-24 12:41
2002.06.27
Тема девушек становится популярной, так что предлагаю


14-88990
Lord Warlock
2002-05-24 15:03
2002.06.27
Интерфейс и девушка!


3-88766
Perec
2002-06-05 09:56
2002.06.27
Изменение наименования поля таблицы через системные таблыцы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский