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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2009, 15:54   #1
_Инженер_
Пользователь
 
Регистрация: 19.06.2008
Сообщений: 32
По умолчанию Как обойтись без события OnActivate?

Есть программа, которая при запуске должна узнать имя компьютера, на котором запустилась. Изначально программа запускается скрытно, т.е Application.ShowMainForm := False;. В программе две формы. Если имя одно - то программа показывает первую форму, если другое, то не показывает ни одной, создаёт сокет и скрытно ожидает подключения. После подключения показывает вторую форму.
Но как это сделать? Проблема со вторым случаем. В событии OnCreate (первой формы, так как она главная) узнаю имя компьютера, создаю сокет и начинаю ожидание подключения. Подключение происходит и мне надо сделать видимой вторую форму. Но из OnCreate первой формы я не могу этого сделать. Событие OnActivate мне не доступно, так как ни одна форма не активируется. Что-то ничего нормального в голову не приходит. Люди грамотные, подскажите, пожалуйста, как быть.

Последний раз редактировалось _Инженер_; 01.10.2009 в 16:21.
_Инженер_ вне форума Ответить с цитированием
Старый 01.10.2009, 15:59   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

form2.show не працюэ?
имхо создали перед этим ее?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 01.10.2009, 16:23   #3
_Инженер_
Пользователь
 
Регистрация: 19.06.2008
Сообщений: 32
По умолчанию

Я не могу делать какие-либо действия со второй формой из TForm1.FormCreate.
_Инженер_ вне форума Ответить с цитированием
Старый 01.10.2009, 16:49   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

и не делайте...
вам ведь надо вызвать form2 после подключения? вот и вызывайте form2.show по окончании сий процедуры

и еще...
Цитата:
Но из OnCreate первой формы я не могу этого сделать. Событие OnActivate мне не доступно
- возможно вы создаете form2 после (це по умолчанию, конечно если вы не динамически ее create, а через дизайнер форм), зайдите в project -> options -> forms и сделайте главной (первой) forms1
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 01.10.2009 в 17:01.
raxp вне форума Ответить с цитированием
Старый 01.10.2009, 17:23   #5
_Инженер_
Пользователь
 
Регистрация: 19.06.2008
Сообщений: 32
По умолчанию

Я создаю блокирующий сокет в TForm1.FormCreate. В этой же процедуре ожидается подключение. После подключения начинается обработка полученных данных, в процессе которой надо отобразить вторую форму. Где делать эту обработку? Если продолжать её делать в TForm1.FormCreate, то не могу отобразить вторую форму. Если дать завершиться TForm1.FormCreate, то как потом на автомате продолжить обработку данных?
А сделать вторую форму главной (вы ведь имели ввиду это?) я не могу. Тогда я поимею аналогичные проблемы в первом случае. Если только не отображать вторую (главную) форму, переходить к TForm2.FormActivate, а в ней прятать вторую форму и отображать первую - как-то оно несколько через зад....но работать, наверное, будет....попробую
_Инженер_ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обойтись без таймера Pedro Общие вопросы Delphi 1 20.11.2008 21:20
Как генерировать события от мышки? Serejka Общие вопросы Delphi 5 01.11.2008 13:48
Как заставить компонент TTrackBar обрабатывать события мыши? Никки Общие вопросы Delphi 5 29.08.2008 14:17
как обрабатывать события с клавы? proglamer Паскаль, Turbo Pascal, PascalABC.NET 13 25.10.2007 11:41