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

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

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

Восстановить пароль
Повторная активизация e-mail

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

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

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

откройте опции проекта. там на закладке "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,876
По умолчанию

Учитывая рекомендацию 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,274
По умолчанию

Во-первых, какая ошибка? Телепаты в отпуске.
Во-вторых, она так не открывается, потому что ее не существует (если убрать из автосоздаваемых).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
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,792
По умолчанию

Цитата:
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