![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программа с многими формами
Choco © (2006-11-13 11:30:00)Доброго дня! Как сделать так, чтоб формы создавались не сразу, а в процесе работы программы по условию(формы и обработчики компонентов стандартные, созданы заранее)
Ketmar (2006-11-14 17:43:00) [1]я лично про ник говорил. красивый.
%-)
Игорь Шевченко (2006-11-14 13:19:00) [2]Германн © (14.11.06 03:27) [28]
Никто никого не терял
Jeer (2006-11-14 13:11:00) [3]
> Германн © (14.11.06 03:27) [28]
>
> Жаль, что сей форум потерял "ЦифроЧеловека". Вот это дейстительно
> жаль! :-(
Это кто так решил ? :)
Ketmar (2006-11-14 04:00:00) [4]>[28] Германн(c) 14-Nov-2006, 03:27
эх... не трави отсутсвие души...
Германн (2006-11-14 03:27:00) [5]Жаль, что сей форум потерял "ЦифроЧеловека". Вот это дейстительно жаль! :-(
RASkov (2006-11-14 02:45:00) [6]Удалено модератором
MikePetrichenko (2006-11-14 02:41:00) [7]
> RASkov (14.11.06 02:06) [24]
Не стоит так напрягаться. Бесполезно.
Ketmar (2006-11-14 02:33:00) [8]Удалено модератором
RASkov (2006-11-14 02:06:00) [9]> [18] Choco © (13.11.06 14:07)
Это почему же не помогли. Тут чуть ли не в каждом посте ответ на твой вопрос.
Еще раз: У тебя формы и модули в проекте имеются. Т.е. созданы формы на них компоненты обработчики описаны, так?
Если да, то в меню Project>Options остовляешь только главную форму в AutoCreate forms остольные выкидываешь в Availableforms. Далее в коде программы создаешь эти формы так как тебе уже писали. Типа:
В каждом модуле с формой описана переменная типа этой формы.
Модуль с формой: (которую впоследствии создадим вручную)
unit UMyForm;
type TMyForm = class(TForm)
...
var MyForm: TMyForm;
-------------------------
unit MainForm;
....
uses UMyForm;
......
//Собственно создание:
if a=0 then begin
if not Assigned(MyForm) then MyForm:=TMyForm.Create(self);
MyForm.ShowModal;
FreeAndNil(MyForm); //Если этого не сделать то второй раз форма не создастся и на строчке выше AV будет
end;
С показом методом Show нужно немного по другому поступить. Подумай.
Теперь понятно?
ЗЫ Не женское это дело:)
Ketmar (2006-11-13 17:22:00) [10]Удалено модератором
Игорь Шевченко (2006-11-13 14:36:00) [11]Choco © (13.11.06 14:07) [18]
> понятно, большое спасибо что ничем не помогли
Обычно для помогания требуется чтобы уровень помогаемого адекватно оценивал предложенное помогание
Anatoly Podgoretsky (2006-11-13 14:33:00) [12]> Choco (13.11.2006 14:07:18) [18]
Ну а разве совет [17] плох?
--
RWolf (2006-11-13 14:32:00) [13]
> понятно, большое спасибо что ничем не помогли
Вообще-то ответ был озвучен в первом же посте.
Anatoly Podgoretsky (2006-11-13 14:29:00) [14]> Choco (13.11.2006 13:57:14) [14]
Это в свойствах проекта - Добавить модуль
--
Choco (2006-11-13 14:07:00) [15]понятно, большое спасибо что ничем не помогли
Плохиш (2006-11-13 14:03:00) [16]Тут одно из двух, либо ты читаешь теорию, либо "Kirche, Küche, Kinder"
Sergey13 (2006-11-13 14:03:00) [17]> [14] Choco © (13.11.06 13:57)
if a>b then MyForm:=TMyForm.Create(application);
MikePetrichenko (2006-11-13 14:02:00) [18]
> ладно, поставим вопрос иначе:видимо мне надо создать экземпляр
> моей формы например MyForm.Как модель с формой включить
> в Exeшник... если можно - пример кода
Не правильно поставлен вопрос. В корне.
Вопрос вам нужно ставить так:
"Поскажите пожалуйста, что можно почитать по Delphi? Где можно найти хорошую литературу?"
либо
"Готов заплатить $XXXX. Кто возмется сделать мне программу?"
Choco (2006-11-13 13:57:00) [19]ладно, поставим вопрос иначе:видимо мне надо создать экземпляр моей формы например MyForm.Как модель с формой включить в Exeшник... если можно - пример кода
StriderMan (2006-11-13 13:45:00) [20]Все очень просто. создаешь форму как обычно. Далее в свойствах проекта/Forms убираешь ее из списка auto-create. Пусть форма называется Form1, ей соответствует класс TForm1
в ран-тайме пишешь
procedure ShowForm1Modal;
var
f: TForm1;
begin
f := TForm1.Create(nil);
try
f.ShowModal;
finallly
f.Free;
end;
end;