Add(LineBreak,13247232,287,483)
{
link(Out,14590082:doText2,[])
Primary=[3110373,896,217]
}
Add(LineBreak,1226700,287,490)
{
Caption="enb"
link(Out,14590082:doEnabled,[])
Primary=[15400916,623,-70]
}
Add(MainForm,10490899,112,105)
{
Width=450
Height=599
Caption="form"
BorderStyle=1
Icon=[ZIP5E07000078DAED93218CDC301045A7E80C175561EDB20B6B60A8511518181A18181852B0D0D0D0D4D0D0D0D4D0D0D03430658173E36C57DABB9C2ED5566A49276F46F6C8FEB2BF62804FF41505E40ADF9F003E03C03325B5E01B5CFB39BE3EC13F0A11C42FA292496F1899AC48EE8A9C838AEE50A71675252AAAB5E457B86A5B3DF6F632452B71CECCE95087B50C1A00AA37A8C378AEAD9D34A24294CB7C7C3112E174AC1BD5D669A0184E531097D98EB319833E94A1F56CD88E7415A9E03414A5E68D1FC63849DB58535A5D7F6C6C3E8E6E08D6B1AC436A1D54A2A4EDCAD4469DA360AB80599C3E3696A69DEB7BDFB3F1042D400FAC83A9073F40E8210D1B2384A9383096EE61EAD2566751B4AAE6AA96922751A7E9EC3BB01C5C03BE05371407C6D2355D73715CBB6E8E17021745AC614A8AFBB17463651A509C1D180B80B4374E187AF42DFA6EA3CDD35920BA35B9A04633F0778E736F2CC01A04468196A329D135E8BA3CA69AF4BA78023150DDEBBC321660097A8D7A0D9204F3209A1B6A09191ACC5EED75EE8DBDEA6CEBA96A5ABF67F1921ED93BFFCF9DB17FF2C01F36F64D3C6CEC9B78D8D8BDCE63C6FE8FBF13F8639F3FE177F3CB2E11F155BE00C079C624]
Position=1
Point(onClose)
link(onCreate,7016607:doEvent1,[])
}
Add(Button,10755425,189,378)
{
@Color=255
Left=5
Top=25
Caption="Папка:"
Point(doEnabled)
link(onClick,15281136:doBrowse,[])
AddHint(-5,38,50,13,Caption)
}
Add(Edit,3293713,371,378)
{
@Color=65365
Left=60
Top=25
Width=360
Text=""
Point(doEnabled)
}
Add(Browse,15281136,231,378)
{
Title="Выберите папку"
link(onBrowse,15084754:doWork2,[])
}
Add(Label,11523310,147,476)
{
Left=5
Top=55
Width=80
Height=17
Caption="Интервал, сек:"
}
Add(Edit,14590082,329,476)
{
@Hint=#8:Интервал|
@Color=65365
Left=95
Top=50
Text="1"
DataType=1
Point(doEnabled)
AddHint(-20,-24,64,13,@Hint)
}
Add(Button,4981340,329,938)
{
@Color=255
Left=385
Top=405
Caption="Пуск"
Point(doCaption)
link(onClick,5957564:In,[])
AddHint(1,40,40,13,Caption)
}
Add(MultiElement,4620547,1113,658)
{
@Hint=#30:Проверка, что интервал › 0 сек|
link(onEvent1,3795650:doEvent1,[])
link(Data1,9457522:Var,[])
}
BEGIN_SDK
Add(EditMulti,11804887,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
link(doWork1,8068495:doCompare,[(49,27)(49,97)])
}
Add(If_else,8068495,77,91)
{
Type=1
Op2=Integer(1)
link(onTrue,10921682:doData,[])
link(onFalse,7667258:doData,[(121,104)(121,139)])
link(Op1,12319914:Var2,[])
AddHint(10,-28,21,13,Op2)
}
Add(DoData,10921682,161,91)
{
Data=Integer(1)
link(onEventData,6126865:doWork2,[])
}
Add(HubEx,6126865,210,91)
{
link(onEvent,11804887:onEvent1,[(268,97)(268,27)])
}
Add(DoData,7667258,133,133)
{
link(onEventData,6126865:doWork3,[(214,139)])
link(Data,12319914:Var3,[(139,54)])
}
Add(GetDataEx,12319914,77,49)
{
Angle=3
link(Data,11804887:Data1,[(27,54)])
}
END_SDK
Add(Switch,9965305,840,602)
{
DataOn=Integer(1)
DataOff=Integer(0)
link(onSwitch,11654124:doEvent1,[])
}
Add(IndexToChanel,14347216,924,609)
{
link(onEvent1,15641842:doEvent1,[])
link(onEvent2,10993382:doEvent1,[(978,622)(978,657)])
}
Add(Switch,4692039,924,574)
{
DataOn=String(Стоп)
DataOff=String(Пуск)
link(onSwitch,16694752:In,[])
AddHint(-48,-25,49,13,DataOn)
AddHint(15,-25,50,13,DataOff)
}
Add(Hub,11654124,889,602)
{
link(onEvent1,4692039:doSwitch,[(913,608)(913,580)])
link(onEvent2,14347216:doEvent,[])
}
Add(MultiElement,13956486,427,126)
{
@Hint=#9:антивирус|
}
BEGIN_SDK
Add(EditMulti,6738775,21,21)
{
EventCount=1
WorkCount=1
link(doWork1,10112052:doEvent1,[(35,27)(35,55)])
}
Add(Hub,10112052,49,49)
{
link(onEvent1,4155503:doData,[])
}
Add(DoData,4155503,77,49)
{
link(onEventData,2251703:doData,[(121,55)(121,62)])
}
Add(EventFromData,2251703,133,56)
{
link(onEvent,11184851:doValue,[])
}
Add(Memory,11184851,189,56)
{
link(onData,577508:doEvent,[])
}
Add(IndexToChanel,577508,238,56)
{
link(onEvent2,6738775:onEvent1,[(296,69)(296,27)])
}
END_SDK
Add(Hub,10993382,1001,651)
{
OutCount=6
link(onEvent2,4620547:doWork1,[])
link(onEvent3,13216466:In,[])
link(onEvent4,815183:In,[])
link(onEvent6,12746626:doDeferredEvent,[(1029,692)(1029,706)])
}
Add(ChanelToIndex,6138528,840,420)
{
link(onIndex,3983295:doEvent1,[])
}
Add(Hub,15641842,1001,609)
{
OutCount=3
link(onEvent1,14114077:In,[])
link(onEvent2,7983187:In,[])
}
Add(LineBreak,5675079,798,420)
{
Caption="enb"
link(Out,6138528:doWork1,[])
Primary=[815183,231,252]
}
Add(LineBreak,6109725,798,427)
{
Caption="dsb"
link(Out,6138528:doWork2,[])
Primary=[7983187,231,189]
}
Add(BitBtn,4330777,420,476)
{
@Color=255
Left=415
Top=45
Width=28
Height=28
Hint="Открыть папку"
Caption=""
Flat=1
Bitmap=[ZIP3609000078DAED94AD6FC24018C6DFC9FD07C8CD0D8921994592CC20B1C84A1469E6AA16246A69E6304B3AB104C492CE90805802A209089256204E204E4C544CDCDEA777840EB6726C9334F9A51F77EFF37EF66A37D573CAAE2A73C5940C6774A117CC7AFE524A9DB0E4FAB647E5CE57FE4B1B5A8D97989A2341E5C7982A0FE19EAFBFF8A3FB29D587317585A2F69259287222458D494A95A1C8FC953AFEAFFDEDE9271A3707BEB71629D54792CA4F73BABC0BAC7D6DF47B6BA3B7FA194F68F0EC709ECD99F657E4631B7F4ADE7AAB51C85AD3959C57A4ACF47B9C7FF79DEDA43DD8EF44A95DFC4B49BD0F6D630BF6A33736FA1EC7EF2B6D730CA8D766A60BE38F24F58FD4473CE841ED392ED46F4D64569F81D236FD23F059BFF95AACDFE63973DF04CDF97D9C2364060780BE5BD063E8633631CB3823DC99C86629E06FD354EDF9CC33450EACEF27C5FA81A9BBC733D1665D27D9FA0BF859F2BA30C43B046C138AC3FAFE0EA82DFCD5391F0FBD477F569C934C29E658A4B11FF31E91AA83FA81FA3A17B887A607A81F409DD1AB3C988B2091D9195CF40FCC8D8FBE891FBD43DE58DB8019865E86D03DAAF16C63CDE61CFD8E63F79CB0E313E3DFD1C7]
}
Add(Math,12689773,1183,658)
{
OpType=2
Op2=1000
ResultType=0
}
Add(Label,14520985,189,938)
{
Left=5
Top=405
Font=[MS Sans Serif,8,0,16711680,1]
Hint="Последний файл"
}
Add(LineBreak,6708909,147,826)
{
Caption="err"
link(Out,892831:doText,[])
Primary=[4594344,1358,385]
}
Add(Image,8945582,364,658)
{
Left=185
Top=105
Width=180
Height=180
Color=16777215
Point(ImageWidth)
Point(ImageHeight)
}
Add(ListBox,3018567,189,651)
{
@Color=65365
Left=5
Top=105
Width=170
Height=180
Point(doEnabled)
link(onClick,10350160:In,[])
}
Add(WinEnum,4438343,910,854)
{
link(onFindWindow,15506883:doEvent1,[])
}
Add(StrList,13178602,1071,861)
{
Point(doGetString)
Point(onGetString)
link(Str,16361302:Var,[])
link(onGetString,8077718:doValue,[])
}
Add(Hub,15506883,959,854)
{
link(onEvent1,1840708:In,[])
link(onEvent2,13178602:doAdd,[])
}
Add(Hub,7849285,826,833)
{
InCount=2
OutCount=4
link(onEvent1,4601123:In,[])
link(onEvent2,13297964:In,[])
link(onEvent3,4301767:In,[])
link(onEvent4,4438343:doEnum,[])
}
Add(LineBreak,14388852,147,658)
{
Caption="clr"
link(Out,3018567:doClear,[])
Primary=[4601123,707,175]
}
Add(LineBreak,8956444,1029,868)
{
Caption="clr"
link(Out,13178602:doClear,[])
Primary=[13297964,-175,-28]
}
Add(Memory,8077718,1169,868)
{
Default=Integer(0)
}
Add(LineBreak,992308,1127,875)
{
Caption="clr"
link(Out,8077718:doClear,[])
Primary=[4301767,-273,-28]
}
Add(Hub,12849438,1225,945)
{
OutCount=5
link(onEvent1,3645801:In,[])
}
Add(CounterEx,3742834,1309,1162)
{
}
Add(Hub,9390890,952,945)
{
link(onEvent1,8267535:doStopAll,[(980,951)(980,965)])
link(onEvent2,8267535:doTimer,[(980,958)(980,951)])
}
Add(ChangeMon,2591408,1309,1204)
{
Point(onNoData)
link(Data,3742834:Count,[])
link(onNoData,3394408:doNext,[])
}
Add(CounterEx,3394408,1351,1211)
{
Max=10000
Default=-1
link(onNext,3362641:doEvent1,[])
}
Add(Hub,3362641,1393,1211)
{
link(onEvent1,13769857:doStrCat,[])
}
Add(LineBreak,11634132,910,945)
{
link(Out,9390890:doEvent1,[])
Primary=[13071492,511,273]
}
Add(InfoTip,1165645,112,290)
{
Info=#9:Интерфейс|
Font=[MS Sans Serif,8,1,0,1]
Frame=2
Width=624
Height=823
Margin=3
}
Add(Hub,7016607,161,119)
{
link(onEvent2,15842707:In,[])
}
Add(LineBreak,9828772,329,392)
{
Caption="enb"
link(Out,3293713:doEnabled,[])
Primary=[5228532,581,35]
}
Add(LineBreak,5228347,329,518)
{
Caption="int"
Type=1
link(Data,14590082:Text,[])
Primary=[9457522,784,112]
}
Add(LineBreak,13537215,784,833)
{
Caption="clr"
link(Out,7849285:doEvent1,[])
Primary=[15842707,-595,-707]
}
Add(Label,9407652,147,329)
{
Left=5
Top=5
Width=293
Height=17
Font=[MS Sans Serif,8,1,16711680,1]
Caption="Выберите папку сохранения и интервал записи:"
AddHint(44,0,171,26,Caption)
}
Add(Label,14842926,147,588)
{
Left=5
Top=85
Width=157
Height=17
Font=[MS Sans Serif,8,1,16711680,1]
Caption="Выберите окно контроля:"
AddHint(44,0,145,13,Caption)
}
Add(LineBreak,10068282,147,651)
{
link(Out,3018567:doAdd,[])
Primary=[1840708,840,203]
}
Add(LineBreak,5524245,1029,903)
{
link(Out,13178602:doGetString,[])
Primary=[10350160,-798,-245]
}
Add(LineBreak,15599776,287,658)
{
Caption="img"
link(Out,16776014:doEvent1,[])
Primary=[3645801,966,287]
}
Add(LineBreak,11004329,910,896)
{
Type=1
link(Data,4438343:Handle,[])
Primary=[16361302,161,-63]
}
Add(PointHint,2231903,1939,875)
{
Width=232
Height=74
}
Add(InfoTip,10986792,749,290)
{
Info=#13:Запись в файл|
Font=[MS Sans Serif,8,1,0,1]
Frame=2
HAlign=0
Width=960
Height=466
Margin=3
}
Add(InfoTip,14002589,749,766)
{
Info=#33:Окно контроля, сравнение картинок|
Font=[MS Sans Serif,8,1,0,1]
Frame=2
HAlign=0
Width=960
Height=550
Margin=3
}
Add(LineBreak,15106429,798,602)
{
link(Out,9965305:doSwitch,[])
Primary=[5957564,-427,336]
}
Add(LineBreak,7210451,287,938)
{
link(Out,4981340:doCaption,[])
Primary=[16694752,679,-364]
}
Add(Label,892831,189,826)
{
Left=5
Top=310
Width=56
Height=17
Font=[MS Sans Serif,8,0,12632256,1]
Hint="Последний файл"
Caption="Ошибок: 0"
}
Add(StrCat,13769857,1463,1211)
{
Str1="Ошибок: "
link(onStrCat,4594344:In,[])
}
Add(Bitmap,4468478,1337,903)
{
}
Add(LineBreak,732551,364,700)
{
Caption="img1"
Type=1
link(Data,8945582:ImageBitmap,[])
Primary=[11597035,966,168]
}
Add(LineBreak,6086175,1295,903)
{
link(Out,4468478:doLoad,[])
Primary=[12368833,70,203]
}
Add(DoData,9418271,1323,1106)
{
link(onEventData,12368833:In,[])
link(Data,16157953:Var1,[(1329,894)])
}
Add(GetDataEx,16157953,1330,889)
{
link(Data,11597035:Var,[])
}
Add(Label,14162559,189,770)
{
Left=5
Top=290
Width=120
Font=[MS Sans Serif,8,1,0,1]
Caption="Items: 0"
AutoSize=1
}
Add(Timer,8267535,994,945)
{
Point(doStopAll)
Point(doInterval)
link(onTimer,8643001:doEvent1,[])
}
Add(ScreenShort,6248627,1169,945)
{
link(onCapture,12849438:doEvent1,[])
link(Handle,8077718:Value,[])
}
Add(Button,15904524,1204,1106)
{
Left=330
Top=405
link(onClick,13071492:In,[(1328,1112)(1328,1224)])
}
Add(Hub,16776014,329,658)
{
link(onEvent1,8945582:doClear,[])
link(onEvent2,8945582:doLoad,[(353,671)(353,664)])
}
Add(LineBreak,8860536,1295,910)
{
Caption="clr"
link(Out,4468478:doClear,[])
Primary=[2953564,-42,49]
}
Add(Button,14737421,490,378)
{
@Color=255
Left=420
Top=25
Width=20
Hint="Очистить"
Caption="Х"
Point(doEnabled)
link(onClick,10249621:In,[])
AddHint(-5,40,62,13,Hint)
}
Add(HubEx,15084754,350,378)
{
link(onEvent,3293713:doText,[])
}
Add(LineBreak,1038891,315,371)
{
link(Out,15084754:doWork1,[(354,377)])
Primary=[10249621,217,7]
}
Add(Label,14891691,301,770)
{
Left=130
Top=290
Width=165
Font=[MS Sans Serif,8,1,0,1]
Caption="Changed items: 0"
AutoSize=1
}
Add(Label,9300362,420,770)
{
Left=300
Top=290
Width=120
Font=[MS Sans Serif,8,1,0,1]
Caption="Variability: 0.00%"
AutoSize=1
}
Add(StrCat,9539324,1435,952)
{
Str1="Items: "
link(onStrCat,6799431:In,[])
}
Add(StrCat,13434844,1435,994)
{
Str1="Changed items: "
link(onStrCat,11360164:In,[])
}
Add(LineBreak,13490029,147,770)
{
link(Out,14162559:doText,[])
Primary=[6799431,1330,182]
}
Add(LineBreak,13796492,259,770)
{
link(Out,14891691:doText,[])
Primary=[11360164,1218,224]
}
Add(LineBreak,6872136,378,770)
{
link(Out,9300362:doText,[])
Primary=[2794289,1078,280]
}
Add(Convertor,7756272,1393,952)
{
Mode=15
link(onResult,9539324:doStrCat,[])
}
Add(Convertor,7870214,1393,994)
{
Mode=15
link(onResult,13434844:doStrCat,[])
}
Add(LineBreak,14545320,1232,651)
{
Caption="off"
Primary=[14114077,-168,-42]
}
Add(Hub,3795650,1155,658)
{
link(onEvent1,12689773:doOperation,[])
link(onEvent2,3110373:In,[(1176,671)(1176,706)])
}
Add(LineBreak,3606029,1232,644)
{
Caption="on"
Primary=[13216466,-168,21]
}
Add(Hub,3983295,882,420)
{
OutCount=5
link(onEvent1,15400916:In,[])
link(onEvent2,5228532:In,[])
link(onEvent3,7025567:In,[])
link(onEvent4,11377863:In,[])
link(onEvent5,8882459:In,[])
}
Add(LineBreak,13290395,147,693)
{
Caption="enb"
link(Out,3018567:doEnabled,[])
Primary=[7025567,763,-259]
}
Add(LineBreak,12965191,147,378)
{
Caption="enb"
link(Out,10755425:doEnabled,[])
Primary=[11377863,763,63]
}
Add(LineBreak,15694614,448,378)
{
Caption="enb"
link(Out,14737421:doEnabled,[])
Primary=[8882459,462,70]
}
Add(StrCatDelim,5142332,1414,1050)
{
Str1="Variability: "
Str2="%"
Point(Delimiter)
link(onStrCatDlm,2794289:In,[])
}
Add(Hub,7374466,1386,1043)
{
link(onEvent2,5142332:doStrCatDlm,[])
}
Add(Label,9362543,1183,1008)
{
Left=285
Top=330
Width=120
Font=[MS Sans Serif,8,1,0,1]
Caption="949749"
AutoSize=1
}
Add(Hub,8643001,1106,945)
{
link(onEvent1,12554975:doNext,[(1130,951)(1130,1014)])
link(onEvent2,6248627:doCapture,[(1144,958)(1144,951)])
}
Add(CounterEx,12554975,1141,1008)
{
link(onNext,9362543:doText,[])
}
Add(Hub,13531671,1106,707)
{
}
Add(DeferredEvent,12746626,1043,700)
{
link(onDeferredEvent,13531671:doEvent1,[(1091,706)(1091,713)])
}
Add(Hub,11989995,1113,413)
{
OutCount=3
link(onEvent1,12424543:doDeferredEvent,[])
link(onEvent2,867403:doDeferredEvent,[(1151,426)(1151,458)])
link(onEvent3,7638299:doDeferredEvent,[(1151,433)(1151,496)])
}
Add(DeferredEvent,12424543,1176,413)
{
}
Add(DeferredEvent,867403,1176,452)
{
}
Add(DeferredEvent,7638299,1176,490)
{
}
Add(Timer,10424988,266,112)
{
}
Add(Timer,14220980,273,161)
{
}
Add(Hub,4049356,1239,406)
{
OutCount=3
link(onEvent1,13904599:doDeferredEvent,[])
link(onEvent2,15495153:doDeferredEvent,[(1277,419)(1277,451)])
link(onEvent3,12663016:doDeferredEvent,[(1277,426)(1277,489)])
}
Add(DeferredEvent,13904599,1302,406)
{
}
Add(DeferredEvent,15495153,1302,445)
{
}
Add(DeferredEvent,12663016,1302,483)
{
}
Я никак не могу отловить ошибку: иногда такой проблемы нет, при другом запуске программы - появляется эта проблема. Иногда достаточно немного изменить схему, даже поменять передний/задний план компонентов - проблема пропадает; ставишь новые компоненты - проблема опять появляется.
Если в hiTimer.pas обработчик OnTimer изменить так:
_hi_OnEvent(_event_onTimer);
{ inc(flag);
if flag › 1 then begin
if _prop_OverCall=0 then dec(flag);
exit;
end;
repeat
if AutoStop ›= 0 then dec(AutoStop);
f := AutoStop = 0;
_hi_OnEvent(_event_onTimer);
if f then begin
flag := 0;
OnStop;
end;
if flag › 0 then dec(flag);
until flag = 0;}
Обратите внимание, что к этому таймеру подключено doStopAll/doTimer. Если при такой самопроизвольной остановке вызвать эти методы, таймер снова включается. Но потом, потыкая на заголовки окон в списке, опять периодически отмечаю самопроизвольную остановку таймера.
Что вообще с ним происходит?!
Редактировалось 3 раз(а), последний 2025-05-12 14:24:30