cообщение выше 92-100-233-137.dynamic.av, моё.
Этот топик читают: Гость
Ответов: 373
Рейтинг: 108
|
|||
карма: 0 |
|
Ответов: 409
Рейтинг: 17
|
|||
Сталкнулся с такойже проблемой, причем как в консольных программах так и в обычных.
Мне необходим примерно такой эффект: code_13786.txt Все вроде работает, но... хотелось бы чтобы дочерняя форма была модальной и все то же самое при WinExec.RunEvent.Async, а то при параметре RunEvent.Wait - форма в таком ступоре что при сворачивании и разворачивании она не прорисовывается и у дочерней формы появляется [X]. |
|||
карма: 0 |
| ||
файлы: 1 | code_13786.txt [1.5KB] [119] |
Ответов: 4641
Рейтинг: 334
|
|||
карма: 1 |
| ||
файлы: 1 | code_13787.txt [1.7KB] [118] |
Ответов: 409
Рейтинг: 17
|
|||
Ravilr писал(а): code_13787.txtСпасибо, теперь это действительно то что нужно. ------------------------ Я вот подумал насчет этих непоняток с окончанием работы программы... может это как-то зависит от многоядерности процессоров? EnumProcess ищет процессы на одном ядре, а программа запущена на другом. |
|||
карма: 0 |
|
Ответов: 3851
Рейтинг: 159
|
|||
Pirr писал(а): EnumProcess ищет процессы на одном ядре, а программа запущена на другом.процессы ищутсся в системе а не на ядре.. |
|||
карма: 0 |
|
Ответов: 409
Рейтинг: 17
|
|||
Андрей. писал(а): процессы ищутсся в системе а не на ядре..Понятно что поиск осуществляется в системе, но... процессы запускаются на разных ядрах, и этим управляет система. И в элементе EnumProcessесть точка CPUCount (содержит кол-во процессоров в системе), значит этот элемент работает с ядрами процессора. Почему я высказал такую гепотизу? Потому что есть очень много программ которые неправильно работают с многоядерными процессорами... и глюки таких программ очень похожи на те что происходят с определением запущено приложение или нет. Например некоторые драйвера Ди-ви-би карт, на многоядерных системах постоянно то показывают наличие сигнала то его отсутствие из-за того что процесс постоянно запускается на различных ядрах. |
|||
карма: 0 |
|
Разработчик
Ответов: 26158
Рейтинг: 2127
|
|||
Pirr писал(а): значит этот элемент работает с ядрами процессораТолько определяет их количество, в данном случае. |
|||
карма: 22 |
|
Ответов: 3851
Рейтинг: 159
|
|||
Pirr писал(а): процессы запускаются на разных ядрах, и этим управляет системакак правило, она их распараллеливает на все ядра (если не прописано другое). Pirr писал(а): есть очень много программ которые неправильно работают с многоядерными процессорамиэто известно и мы это видели Pirr писал(а): глюки таких программ очень похожи на те что происходят с определением запущено приложение или нетподлежит детальному исследованию - просто запускай их в нулевом ядре (с помощью HiAsm).. |
|||
карма: 0 |
|
Ответов: 409
Рейтинг: 17
|
|||
Андрей. писал(а): подлежит детальному исследованию - просто запускай их в нулевом ядре (с помощью HiAsm)..Вот тут схема приводилась с четырьмя кнопками. Если нажимаю их сверху в низ, то работает только вторая кнопка. Если снизу вверх то работают нижние три кнопки. КАК ТАКОЕ МОЖЕТ БЫТЬ? |
|||
карма: 0 |
|
Ответов: 3851
Рейтинг: 159
|
|||
а что за схема?
|
|||
карма: 0 |
|
Разработчик
Ответов: 26158
Рейтинг: 2127
|
|||
Андрей. писал(а): а что за схема?И я не помню такой схемы. Хочу глянуть на сей шедевр |
|||
карма: 22 |
|
Ответов: 373
Рейтинг: 108
|
|||
Андрей, nesco
На второй странице в 9-м посте. |
|||
карма: 0 |
|
Разработчик
Ответов: 26158
Рейтинг: 2127
|
|||
Pirr писал(а): Если снизу вверх то работают нижние три кнопкиЯ не знаю как они у тебя работают, но у меня работает только вторая кнопка, те, запущенное в режиме Wait. Да, кстати, а каким боком это относится к количеству ядер проца |
|||
карма: 22 |
|
Ответов: 409
Рейтинг: 17
|
|||
nesco писал(а): Да, кстати, а каким боком это относится к количеству ядер процаСмысл схемы в том, что запускается программа, а затем отслеживается запущена она или нет... как только программа исчезает из процессов, выдается сообщение. Так вот, по идее в приведенной тут схеме - должны работать все четыре кнопки. Но иногда бывает так, что запущенной программы уже нет в процессах... а элемент EnumProcess считает что есть, значит он ошибается. Ошибка эта может быть из-за того что неправильно считываются запущенные процессы. Причем у разных людей, на разных компьютерах - реакция на кнопки разная. |
|||
карма: 0 |
|
Разработчик
Ответов: 26158
Рейтинг: 2127
|
|||
Pirr писал(а): Ошибка эта может быть из-за того что неправильно считываются запущенные процессыНу с этим я согласен, а вот то, что оно связано с количеством процессоров -- ??? Мне кажется тут все зависит от того, как отрабатывается процесс обновления списка запущенных процессов, тут, возможно, API-функции не коррктно отрабатываются и обращаются к копиям списка, а не к главному списку и система не посылает нам нотификацию на обновление, а может, мы ее, просто, не ловим, да и не просим отправить |
|||
карма: 22 |
|
45