Вверх ↑
Этот топик читают: Гость
Ответов: 817
Рейтинг: 52
#1: 2009-05-08 15:54:49 ЛС | профиль | цитата
Приятного времени суток господа!

Вчера поднимал вопрос про поводу ожидания завершения консольной программы.
все получилось и все работает (спасибо tsdima)
Теперь появился другой вопрос
Как дождаться завершения не консольной программы и после этого выдать любое событие?
Все что смог так это:
code_13185.txt
карма: 1

0
файлы: 1code_13185.txt [351B] [176]
Ответов: 4641
Рейтинг: 334
#2: 2009-05-08 16:22:47 ЛС | профиль | цитата
а программа одна и таже? Если да...то хоть процесс мониторь, хоть окно. Как пропал..так трезвонь.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 108
Рейтинг: 14
#3: 2009-05-08 16:41:18 ЛС | профиль | цитата
кстати заметил косяк с поиском процесса по имени,не на всех пк это срабатывает, так и не разобрался почему...
карма: 0

0
Ответов: 4641
Рейтинг: 334
#4: 2009-05-08 16:49:12 ЛС | профиль | цитата
Ravilr писал(а):
хоть процесс мониторь


Add(MainForm,5282615,112,77)
{
Width=366
Height=295
}
Add(WinExec,8313212,196,77)
{
Param="C:WINDOWSie7.log"
FileName="notepad.exe"
Point(onConsoleTerminate)
}
Add(Button,6671266,112,119)
{
Left=70
Top=40
link(onClick,7783754:doEvent1,[])
}
Add(Message,10067890,392,112)
{
Message="Все пропало ШЕФ! Алёёёё!!! Нотепад закрыт!!!"
}
Add(EnumProcess,10869016,294,105)
{
Point(Name)
Point(doFindName)
Point(onNotFind)
link(onNotFind,11768559:doEvent1,[])
}
Add(Timer,2654887,196,126)
{
Enable=1
link(onTimer,2976010:doData,[])
}
Add(DoData,2976010,245,126)
{
Data=String(notepad.exe)
link(onEventData,10869016:doFindName,[])
}
Add(Hub,7783754,161,119)
{
link(onEvent1,8313212:doExec,[(182,125)(182,83)])
link(onEvent2,2654887:doTimer,[])
}
Add(Hub,11768559,350,112)
{
link(onEvent1,10067890:doMessage,[])
link(onEvent2,2654887:doStop,[(376,125)(376,175)(186,175)(186,139)])
}


карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 373
Рейтинг: 108
#5: 2009-05-08 18:10:49 ЛС | профиль | цитата
А почему вот так не срабатывает?
code_13193.txt
карма: 0

0
файлы: 1code_13193.txt [1.5KB] [153]
Ответов: 4641
Рейтинг: 334
#6: 2009-05-08 18:49:29 ЛС | профиль | цитата
Vlad.- писал(а):
А почему вот так не сробатывает?

все срабатывает
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 373
Рейтинг: 108
#7: 2009-05-08 19:24:31 ЛС | профиль | цитата
Только что обновился.(HiUpdate)
EnumProcess Version=3.10 for b164 and higher for Delphi and FPC
Странно Может у HiAsm крыша поехала Или у меня
карма: 0

0
Ответов: 4641
Рейтинг: 334
#8: 2009-05-08 19:27:21 ЛС | профиль | цитата
----
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26156
Рейтинг: 2127
#9: 2009-05-08 22:06:19 ЛС | профиль | цитата
Vlad.- писал(а):
EnumProcess Version=3.10 for b164 and higher for Delphi and FPC
Странно Может у HiAsm крыша поехала Или у меня


А в чем станность-то проявляется, в том, что для версии b164 и выше, те, работать будет, начиная с b164 и по настоящую версию -- b177
карма: 22

0
Ответов: 1328
Рейтинг: 69
#10: 2009-05-09 00:36:27 ЛС | профиль | цитата
Vlad.-, HiUpdate вообще не обновляет компоненты, для этого нужен SVN
карма: 2

0
Ответов: 373
Рейтинг: 108
#11: 2009-05-09 02:31:44 ЛС | профиль | цитата
nesco писал(а):
А в чем станность-то проявляется, в том, что для версии b164 и выше, те, работать будет, начиная с b164 и по настоящую версию -- b177

Странность в том что версии компонентов (по моему) одинаковые а схема у меня не работает(если calc.exe запускать с помощью компонента WinExec, после завершения работы calc.exe EnumProcess попрежнему уверен что calc ещё висит в процессах)
Konst писал(а):
Vlad.-, HiUpdate вообще не обновляет компоненты, для этого нужен SVN

В курсе.
c SVN две недели назад обновлял(только компоненты)

карма: 0

0
Разработчик
Ответов: 26156
Рейтинг: 2127
#12: 2009-05-09 02:42:02 ЛС | профиль | цитата
Vlad.- писал(а):
одинаковые а схема у меня не работает

А у меня работает, и calc благополучно сваливает из процессов. Что-то не то у тебя в системе творится, если мертвый процесс висит в памяти, как рабочий
карма: 22

0
Ответов: 373
Рейтинг: 108
#13: 2009-05-09 03:01:47 ЛС | профиль | цитата
nesco. запустил через doShellExec и заработало
карма: 0

0
Разработчик
Ответов: 26156
Рейтинг: 2127
#14: 2009-05-09 03:21:36 ЛС | профиль | цитата
Vlad.- писал(а):
запустил через doShellExec и заработало


Похоже, что надо проверить на вирусы. У тебя ядро ключит.

API-функция WinExec принадлежит kernel32.dll, а ShellExec принадлежит Shell32.dll
карма: 22

0
Ответов: 1328
Рейтинг: 69
#15: 2009-05-09 06:47:34 ЛС | профиль | цитата
Vlad.-, у меня твоя схема тоже работает
карма: 2

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)