Вверх ↑
Ответов: 2125
Рейтинг: 159
#1: 2006-12-06 18:10:30 ЛС | профиль | цитата
Кстати, на скрипты в сервисе я не рассчитывал. А то бы добавил CoInitialize. Без этого - ясен пень, работать не будет. Кроме того есть ещё одни ньюанс: сервис выполняется в другом Thread, и скрипт должен создаваться в нём (было на форуме, я уже объяснял, почему скрипт нужно прятать в MultiElementEx в режиме OnlyOnce). Вобщем у меня работает.

Исправь в hiNTService.pas
uses Kol,Share,Debug,Windows,ActiveX;
...
CoInitialize(nil);
EventOn;
InitDo;
...
EventOff;
CoUninitialize;

А вот рабочий пример:
Add(NTService,10219739,147,133)
{
Point(doStepTime)
link(onStart,3198458:doMessage,[(219,139)(219,97)])
link(onStep,15002550:doNext,[])
link(onStop,8795962:doMessage,[(219,153)(219,202)])
}
Add(Message,3198458,259,91)
{
Message="Start"
link(onMessage,8995477:doData,[])
}
Add(DoData,8995477,315,91)
{
Data=Integer(100)
link(onEventData,10219739:doStepTime,[(359,97)(359,74)(135,74)(135,139)])
}
Add(Counter,15002550,259,140)
{
Max=50
link(onNext,12692772:doCase,[])
}
Add(Message,8795962,259,196)
{
Message="Stop"
}
Add(Case,12692772,315,140)
{
Value=Integer(50)
link(onTrue,10762230:doWork1,[])
}
Add(MultiElementEx,10762230,378,147)
{
Mode=2
}
BEGIN_SDK
Add(EditMultiEx,15253903,3,3)
{
WorkCount=#7:doWork1|
link(doWork1,11361448:doWork1,[(33,9)(33,55)])
}
Add(VBJScript,11361448,63,49)
{
WorkPoints=#7:doWork1|
Script=#21:sub doWork(dt, index)|14: MsgBox index|7:end sub|
UseName=0
}
END_SDK

карма: 1

0