Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.08;
Скачать: CL | DM;

Вниз

Программно запустить Delphi и дождаться полной загрузки   Найти похожие ветки 

 
IGray   (2011-08-12 13:08) [0]

Здравствуйте! Как сделать сабж, собственно?
Пробовал юзать ShellExecuteEx+WaitForInputIdle, но WaitForInputIdle отрабатывает гораздо раньше завершения загрузки... Заранее спасибо!


 
oldman ©   (2011-08-12 13:57) [1]

Что в вашем понимании есть "полная загрузка"?


 
IGray   (2011-08-12 14:06) [2]

Ну, скажем, когда в Delphi перейдёт в режим ожидания действий пользователя.


 
QAZ   (2011-08-12 14:33) [3]

там есть такой режим?


 
IGray   (2011-08-12 14:52) [4]

Не поверите - есть)
Delphi после загрузки ЖДЁТ, какой очередной шедевр вы родите ;)
А если при загрузке произошла ошибка - ЖДЁТ когда юзер нажмёт ОК


 
Cobalt ©   (2011-08-12 15:05) [5]

Определись, какое окно тебе необходимо для работы, и исследуй его состояние в "режим готовности" (видимо, или содержит определенный текст, или еще чего)


 
oldman ©   (2011-08-12 15:06) [6]

Вам очень повезло, что возникало только эти две ситуации.

По сабжу: сомневаюсь, что при переходе в "режим ожидания действий пользователя" генерируется хоть какое-нибудь системное сообщение...


 
oldman ©   (2011-08-12 15:09) [7]

После запуска программы она может начать собирать рабочую информацию (цеплять библиотеки, проверять настройки и т.д.)
Но при этом программа "полностью загружена" и работоспособна.
А пользователю для нажатия ОК еще курить и курить...


 
IGray   (2011-08-12 15:13) [8]


> Вам очень повезло, что возникало только эти две ситуации.

Это я для примера.


 
IGray   (2011-08-12 15:42) [9]


> oldman ©   (12.08.11 15:09) [7]
> После запуска программы она может начать собирать рабочую
> информацию (цеплять библиотеки, проверять настройки и т.
> д.)
> Но при этом программа "полностью загружена" и работоспособна.
>

Мне нужно отследить именно ту ситуацию, о которой я сказал выше...
Могу ещё конкретнее - когда главное окно Delphi станет активным.


 
Anatoly Podgoretsky ©   (2011-08-12 16:56) [10]


> oldman ©   (12.08.11 15:09) [7]

Ему не для программы, а для Дельфи


 
oldman ©   (2011-08-12 17:17) [11]


> когда главное окно Delphi станет активным


может, что никогда
что в твоем понимании "активным"


 
Cobalt ©   (2011-08-12 19:03) [12]

вот, главное - четкая постановка задачи :-)


 
IGray   (2011-08-12 20:48) [13]


> Cobalt ©   (12.08.11 19:03) [12]
> вот, главное - четкая постановка задачи :-)

А я думал, что главное - в каждой теме отметиться, и, желательно, не раз ;)

Ещё конкретнее - мне нужно программно:
1. Загрузить в Delphi некоторый проект.
2. После этого открыть в Delphi некоторую форму из этого проекта.

И первое и второе по-отдельности я успешно делаю посредством ShellExecute, но последовательно два вызова ShellExecute приводят к запуску двух копий Delphi (а иногда и похлеще эффекты бывают).
Это происходит из-за того, что второй вызов Delphi начинается до того как закончится загрузка проекта в результате первого вызова.

Отсюда, собственно, и вопрос - как дождаться полной загрузки проекта в Delphi?


 
Германн ©   (2011-08-13 01:02) [14]


> А я думал, что главное - в каждой теме отметиться, и, желательно,
>  не раз ;)

Отмечаюсь первый раз.
А зачем нужно запускать Дельфи программно, да ещё и программно открывать в IDE какую-то форму?
Очень похоже на бред.
Программно запускать консольный компилятор Дельфи - это я понимаю и принимаю. Всё прочее - очень похоже на бред.

P.S.
Короче!
http://www.gunsmoker.ru/2008/10/x-y-z.html


 
IGray   (2011-08-13 11:15) [15]


> Германн ©   (13.08.11 01:02) [14]
> А зачем нужно запускать Дельфи программно, да ещё и программно открывать в IDE какую-то форму?
> Очень похоже на бред.

Вы задаёте вопрос, и, не дожидаясь ответа, сами себе на него отвечаете.
Возможно, Вам сложно будет в это поверить, но иногда ЧЕЛОВЕКУ нужен ответ именно на ТОТ вопрос, который он задаёт (давайте всё-таки допускать такое чудо), и может не стоит сразу записывать собеседника в идиоты, только потому, что Вы не понимаете, нафига ему это надо?
Как я понял, Вы, не зная ответ на мой вопрос, ждёте, когда я изменю условия задачи до такой степени, что один из имеющихся у Вас ответов к ним подойдёт? Но извините, в данном случае это невозможно.
Хотите, чтобы я на 5-ти страницах доказал Вам, что мне нужно именно то, что я попросил? Но разве это будет эффективной тратой Вашего и моего времени?


 
Германн ©   (2011-08-14 00:23) [16]


> Возможно, Вам сложно будет в это поверить, но иногда ЧЕЛОВЕКУ
> нужен ответ именно на ТОТ вопрос, который он задаёт

Почему мне будет сложно поверить? Сам не раз бывал в такой ситуации. Хочется что-то сделать, а не получается.

P.S.
Но если этот человек задает вопрос "неточно" и не может сформулировать важные критерии вопроса так, что они будут понятны другим участникам форума, то в 99.9% случаев ему нужно самому искать пути решения своей проблемы.


 
Дмитрий Белькевич   (2011-08-14 09:50) [17]


> Хотите, чтобы я на 5-ти страницах доказал Вам, что мне нужно
> именно то, что я попросил? Но разве это будет эффективной
> тратой Вашего и моего времени?


Обычно достаточно одного-двух предложений.

Ответ на вопрос не знаю. Но знаю, куда копать:

http://google.com/ WaitForInputIdle

http://delphimaster.net/ WaitForInputIdle


 
Игорь Шевченко ©   (2011-08-15 10:30) [18]


> Отсюда, собственно, и вопрос - как дождаться полной загрузки
> проекта в Delphi?


поищи, как sysintenals с regedit работает, возможно подобный способ поможет



Страницы: 1 вся ветка

Текущий архив: 2013.09.08;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.006 c
1-1313140127
IGray
2011-08-12 13:08
2013.09.08
Программно запустить Delphi и дождаться полной загрузки


2-1355904973
sqler
2012-12-19 12:16
2013.09.08
выборка


15-1364848203
Юрий
2013-04-02 00:30
2013.09.08
С днем рождения ! 2 апреля 2013 вторник


2-1356350722
ford
2012-12-24 16:05
2013.09.08
indy IdSMTP vs Yandex.ru and Mail.ru


15-1364596708
Optimaiser
2013-03-30 02:38
2013.09.08
Windows 7 и файл подкачки