![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 144
|
![]()
Есть два моих приложения, основное и дочернее.
Дочернее запускается из потока, используя CreateProcess, при этом передается десятка полтора параметров запуска. Приложение представляет сабой "сапожника без сапог" - т.е. VCL Forms Application без форм. Модуль Forms добавлен, вызывается только Application.Title. Автоматически создаваемых форм нет. При запуске дочернего процесса, курсор на момент "задумывается", хотя по задумке этого быть не должно - как в Google Chrome например, - ничего нигде не задумывается. В чем может быть дело? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
CreateProcess возвращается только после того как приложение начало выполнять код.
то есть после всей инициализации. хром асинхронен до нельзя. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 144
|
![]() Цитата:
Можно ли как то определить, какой именно процесс заставил "задуматься" курсор? Чтобы от этого плясать уже, я допускаю что может непосредственно дочерний процесс этого делать. |
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
![]() Курсор вообще никому не принадлежит. |
|
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 144
|
![]()
Кстати...
Если специально заострить внимание, то хром тоже на самом деле "мигает" курсором, но делает это субъективно 50-100мс = видимо именно столько времени запускаетя новый процесс. Хорошо. Только вот, как подобным образом сделать и у меня? Я даже пробовал сделать пустое приложение - создается поток и WaitForSingleObject; пробовал создавать вечный цикл с слипом на 2, 50 и 100 мс - один фиг. Пробовал дебаговую конфигурацию менять на релизную - все равно. Мб это проделки Delphi и его рантайма? Что быстрее оно физически не стартанет. Хотя стоит ли заморачиваться? Допустим приложение стоит в автозапуске. Допустим добавлено 100 устройств. Соответственно, программа должна включиться сама и запустить 100 процессов для каждого устройства и спокойно мониторить. Запуститься все это не мгновенно, и постоянно курсор будет "мигать". |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
что за 100 процессов? вы чего? система не резиновая.
далее, зависит от того что за приложение. далее вы под отладчиком делали это? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Читать до полного понимания:
Цитата:
Процессы у хрома грузятся быстро, потому что хром выполняет предзагрузку и кеширование возможных страниц и данных(как и любой вменяемый веб-браузер), на которые пользователь можете перейти. Новому процессу хрома абсолютно не надо ничего делать, все ресурсы ему уже подготовлены, он просто берет их в оборот. Брать готовое же быстрее, чем готовить самому и только потом взять готовое? Последний раз редактировалось Человек_Борща; 04.08.2014 в 10:57. |
|
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 144
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
CreateProcess | GradGrad | Visual C++ | 5 | 03.03.2013 00:37 |
CreateProcess и тд | sidjey | Помощь студентам | 0 | 11.04.2011 14:23 |
CreateProcess | Акоб | Общие вопросы C/C++ | 7 | 24.03.2011 16:31 |
CreateProcess | Yokka | Общие вопросы C/C++ | 0 | 03.06.2010 23:46 |
CreateProcess, С++ | MaTBeu | Win Api | 5 | 06.10.2008 22:56 |