Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
ВнизПрограмма с многими формами Найти похожие ветки
← →
Choco © (2006-11-13 11:30) [0]Доброго дня! Как сделать так, чтоб формы создавались не сразу, а в процесе работы программы по условию(формы и обработчики компонентов стандартные, созданы заранее)
← →
Sergey13 © (2006-11-13 11:32) [1]Убрать все, кроме главной, из автосоздания в опциях проекта и создавать их вручную по мере надобности (create + F1).
← →
Choco © (2006-11-13 11:37) [2]Вручную негодится... Надо сделать так чтоб нужная форма открывалась ПО УСЛОВИЮ, например при фокусе на определенной записи ListBox
← →
Sergey13 © (2006-11-13 11:40) [3]> [2] Choco © (13.11.06 11:37)
> Вручную негодится...
Автоматически негодится, вручную негодится. Что хочется то? Вручную - это ведь не из картона вырезать.
← →
Dmitrij_K (2006-11-13 11:41) [4]Создавать не сразу, а в процесе работы программы = вручную
← →
KilkennyCat © (2006-11-13 11:41) [5]> [2] Choco © (13.11.06 11:37)
что Вы поняли под "создавать вручную"? :))
← →
Плохиш © (2006-11-13 11:41) [6]
> Choco © (13.11.06 11:37) [2]
> Вручную негодится... Надо сделать так чтоб нужная форма
> открывалась ПО УСЛОВИЮ
Вам надо нанять программиста, тогда, после создания им программы, для Вас всё будет открываться не вручную.
← →
Choco © (2006-11-13 12:24) [7]не надо ёрничать... возможно мой вопрос и некорректен тогда скажите мне об этом... мне не нужно чтоб все формы создавались в момент старта программы...для особо непонятливых(меня то есть) напишите мне фрагмент кода, который по условию if a=0 подключает оконный объект ( видимо это должно быть что-то типа If not Assigned (Form1)then
Form1:=form1.Create(Self))
← →
Anatoly Podgoretsky © (2006-11-13 12:26) [8]> Choco (13.11.2006 11:37:02) [2]
Вручную, значить написать код создания в программе, при выполнение условия.
← →
novill © (2006-11-13 12:30) [9]> [7] Choco © (13.11.06 12:24)
> If not Assigned (Form1)then
> Form1:=form1.Create(Self))
Ну правильно написал, только букву Т забыл:TForm.Create
← →
Kolan © (2006-11-13 12:35) [10]> Ну правильно написал, только букву Т забыл: TForm.Create
ИМХО вообше неправильно он написал.Form1:=form1.Create(Self))
From1 - Это экземпляр чего? Какого класса?
← →
Choco © (2006-11-13 13:37) [11]экземпляр стандартного класса TForm... написала то я неправильно...только ведь мне надо надо загрузать мою, готовую а не стандартную пустую... или я не так говорю?
← →
Anatoly Podgoretsky © (2006-11-13 13:41) [12]> Kolan (13.11.2006 12:35:10) [10]
Почему ты так уверен, это нормальная форма, откуда ты знаешь, что он хотел здесь сделать, может переинициализировать. Смотреть справку по конструкторам.
--
← →
StriderMan © (2006-11-13 13:45) [13]Все очень просто. создаешь форму как обычно. Далее в свойствах проекта/Forms убираешь ее из списка auto-create. Пусть форма называется Form1, ей соответствует класс TForm1
в ран-тайме пишешьprocedure ShowForm1Modal;
var
f: TForm1;
begin
f := TForm1.Create(nil);
try
f.ShowModal;
finallly
f.Free;
end;
end;
← →
Choco © (2006-11-13 13:57) [14]ладно, поставим вопрос иначе:видимо мне надо создать экземпляр моей формы например MyForm.Как модель с формой включить в Exeшник... если можно - пример кода
← →
MikePetrichenko © (2006-11-13 14:02) [15]
> ладно, поставим вопрос иначе:видимо мне надо создать экземпляр
> моей формы например MyForm.Как модель с формой включить
> в Exeшник... если можно - пример кода
Не правильно поставлен вопрос. В корне.
Вопрос вам нужно ставить так:
"Поскажите пожалуйста, что можно почитать по Delphi? Где можно найти хорошую литературу?"
либо
"Готов заплатить $XXXX. Кто возмется сделать мне программу?"
← →
Sergey13 © (2006-11-13 14:03) [16]> [14] Choco © (13.11.06 13:57)
if a>b then MyForm:=TMyForm.Create(application);
← →
Плохиш © (2006-11-13 14:03) [17]Тут одно из двух, либо ты читаешь теорию, либо "Kirche, Küche, Kinder"
← →
Choco © (2006-11-13 14:07) [18]понятно, большое спасибо что ничем не помогли
← →
Anatoly Podgoretsky © (2006-11-13 14:29) [19]> Choco (13.11.2006 13:57:14) [14]
Это в свойствах проекта - Добавить модуль
--
← →
RWolf © (2006-11-13 14:32) [20]
> понятно, большое спасибо что ничем не помогли
Вообще-то ответ был озвучен в первом же посте.
← →
Anatoly Podgoretsky © (2006-11-13 14:33) [21]> Choco (13.11.2006 14:07:18) [18]
Ну а разве совет [17] плох?
--
← →
Игорь Шевченко © (2006-11-13 14:36) [22]Choco © (13.11.06 14:07) [18]
> понятно, большое спасибо что ничем не помогли
Обычно для помогания требуется чтобы уровень помогаемого адекватно оценивал предложенное помогание
← →
Ketmar © (2006-11-13 17:22) [23]Удалено модератором
← →
RASkov (2006-11-14 02:06) [24]> [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-14 02:33) [25]Удалено модератором
← →
MikePetrichenko © (2006-11-14 02:41) [26]
> RASkov (14.11.06 02:06) [24]
Не стоит так напрягаться. Бесполезно.
← →
RASkov (2006-11-14 02:45) [27]Удалено модератором
← →
Германн © (2006-11-14 03:27) [28]Жаль, что сей форум потерял "ЦифроЧеловека". Вот это дейстительно жаль! :-(
← →
Ketmar © (2006-11-14 04:00) [29]>[28] Германн(c) 14-Nov-2006, 03:27
эх... не трави отсутсвие души...
← →
Jeer © (2006-11-14 13:11) [30]
> Германн © (14.11.06 03:27) [28]
>
> Жаль, что сей форум потерял "ЦифроЧеловека". Вот это дейстительно
> жаль! :-(
Это кто так решил ? :)
← →
Игорь Шевченко © (2006-11-14 13:19) [31]Германн © (14.11.06 03:27) [28]
Никто никого не терял
← →
Ketmar © (2006-11-14 17:43) [32]я лично про ник говорил. красивый.
%-)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.042 c