Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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

form2.show не працюэ?
имхо создали перед этим ее?
raxp вне форума   Ответить с цитированием
Старый 01.10.2009, 16:23   #3
_Инженер_
Пользователь
 
Регистрация: 19.06.2008
Сообщений: 32
Репутация: 10
По умолчанию

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

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

и еще...
Цитата:
Но из OnCreate первой формы я не могу этого сделать. Событие OnActivate мне не доступно
- возможно вы создаете form2 после (це по умолчанию, конечно если вы не динамически ее create, а через дизайнер форм), зайдите в project -> options -> forms и сделайте главной (первой) forms1

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


22:15.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru