Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2012, 12:47   #1
Юсуп
Пользователь
 
Аватар для Юсуп
 
Регистрация: 25.12.2011
Сообщений: 76
По умолчанию Дочерняя форма открывается сразу после запуска программы

Дочерняя форма открывается сразу после запуска программы, как сделать так, чтобы она открывалась только когда я ее вызываю?
Иметь знания и не делиться ими это скупость.....будьте щедрыми))))
Юсуп вне форума Ответить с цитированием
Старый 14.06.2012, 13:03   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

откройте опции проекта. там на закладке "Forms" есть "Auto-create Forms" - удалите оттуда вашу дочернюю форму.
всё.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.06.2012, 13:15   #3
Юсуп
Пользователь
 
Аватар для Юсуп
 
Регистрация: 25.12.2011
Сообщений: 76
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
откройте опции проекта. там на закладке "Forms" есть "Auto-create Forms" - удалите оттуда вашу дочернюю форму.
всё.
Отлично, спасибо!

При вызове дочерней формы выскакивает ошибка
begin
Form2.ShowModal;
end;
Вот так указать команду запустить дочернюю форму будет правильно?
Иметь знания и не делиться ими это скупость.....будьте щедрыми))))
Юсуп вне форума Ответить с цитированием
Старый 14.06.2012, 13:38   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,889
По умолчанию

Учитывая рекомендацию Serge_Bliznykov можно сделать так:
Код:
form2 := tform2.create(application);
form2.showmodal;
form2.free;
Это способ с динамически создаваемой формой (в отличие от авто-создаваемой).

Если же это не очень устраивает, то дочернюю форму можно скрывать и показывать меняя её логическое свойство Visible. В инспекторе объектов установить его изначально false. При необходимости в том же меню где и автосоздаваемые формы, нужную форму поднять выше, это меняет порядок их автосоздания.
phomm вне форума Ответить с цитированием
Старый 14.06.2012, 14:00   #5
Юсуп
Пользователь
 
Аватар для Юсуп
 
Регистрация: 25.12.2011
Сообщений: 76
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Учитывая рекомендацию Serge_Bliznykov можно сделать так:
Код:
form2 := tform2.create(application);
form2.showmodal;
form2.free;
Это способ с динамически создаваемой формой (в отличие от авто-создаваемой).

Если же это не очень устраивает, то дочернюю форму можно скрывать и показывать меняя её логическое свойство Visible. В инспекторе объектов установить его изначально false. При необходимости в том же меню где и автосоздаваемые формы, нужную форму поднять выше, это меняет порядок их автосоздания.
Вариант с кодом не подошел, ошибку выдает так же, а нет третьего варианта? Почему форма не открывается как обычно через ShowModal?
Иметь знания и не делиться ими это скупость.....будьте щедрыми))))
Юсуп вне форума Ответить с цитированием
Старый 14.06.2012, 14:06   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,355
По умолчанию

Во-первых, какая ошибка? Телепаты в отпуске.
Во-вторых, она так не открывается, потому что ее не существует (если убрать из автосоздаваемых).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 14.06.2012, 14:27   #7
Юсуп
Пользователь
 
Аватар для Юсуп
 
Регистрация: 25.12.2011
Сообщений: 76
По умолчанию

Project Proect.exe raised exception class ElnvalidOperation with message 'Cannot make a vasible window nodal'.

вот эта ошибка
Иметь знания и не делиться ими это скупость.....будьте щедрыми))))

Последний раз редактировалось Юсуп; 14.06.2012 в 14:31.
Юсуп вне форума Ответить с цитированием
Старый 14.06.2012, 20:38   #8
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

а я у формы ставил visible:=false и когда было нужно show или visible:=true уже плохо помню как делал
пыжок
maloun вне форума Ответить с цитированием
Старый 14.06.2012, 20:40   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Cannot make a vasible window nodal
А ты где это окно вызываешь? Показывай код.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно сделать так, чтобы дочерняя форма была поверх всех окон после наступления определённого события? Вадим Мошев Общие вопросы Delphi 4 10.06.2011 13:01
Дочерняя форма из дочерней maryan.vetrov C# (си шарп) 1 22.02.2011 03:02
[Pascal] Создать программу после запуска которой только через 10 сек. отобразится форма Денис13 Помощь студентам 3 10.10.2010 21:26
Удаление кнопки после первого запуска программы keet Помощь студентам 5 09.01.2010 23:35
Запуск программы сразу после открытия папки artemavd Общие вопросы Delphi 16 25.08.2009 08:41