tsdima писал(а):
Пора бы уже перестроиться, и допустить возможность передачи в потоке не только предопределённых типов данных, но и объектов пользователя.tsdima, и чем это от data_object отличается?
Я вообще говоря не о том спрашивал. Ну положим есть у меня контейнер с точками doWork, onEvent и Data(верхняя). Делаю ссылку на него - у этой ссылки появляются такие же точки + верхняя handle. Это можно назвать удачным интерфейсным решением?
------------ Дoбавленo в 15.50:
с фракталом вот что получилось
Add(MainForm,2953706,21,105)
{
Point(Handle)
}
Add(For,8450866,147,105)
{
Start=-100
End=100
link(onEvent,2010766:doOperation,[])
}
Add(Math,2010766,196,105)
{
OpType=3
Op2=100
link(onResult,5732910:doNext,[])
}
Add(Counter,5732910,245,105)
{
Min=-1
Max=1000
link(onNext,12415604:doFor,[])
}
Add(For,12415604,294,105)
{
Start=-200
End=100
link(onEvent,5755526:doOperation,[])
link(onStop,8332390:doReset,[(339,118)(339,76)])
}
Add(Math,5755526,350,105)
{
OpType=3
Op2=100
link(onResult,5132660:doEvent1,[])
}
Add(Counter,8332390,455,56)
{
Min=-1
Max=1000
}
Add(Hub,5132660,406,105)
{
OutCount=8
link(onEvent1,8332390:doNext,[(438,111)(438,62)])
link(onEvent2,8178685:doWork2,[(537,118)(537,153)])
link(onEvent3,8239575:doData,[(528,125)(528,174)])
link(onEvent4,10946398:doReset,[(504,132)(504,244)])
link(onEvent5,5847953:doClear,[(492,139)(492,377)])
link(onEvent6,6620730:doClear,[(492,146)(492,377)])
link(onEvent7,3546509:doRepeat,[(477,153)(477,370)])
link(onEvent8,3459442:doCalc,[(438,160)(438,503)])
}
Add(Repeat,3546509,567,364)
{
Op1=Integer(1)
link(onRepeat,11991298:doEvent1,[])
link(Op2,1213182:reCalc,[])
}
Add(MathParse,1213182,567,308)
{
DataCount=3
MathStr="(%1*%1 + %2*%2 < 4) and (%3 < 64)"
Point(reCalc)
link(X1,7738539:Var1,[(573,296)(554,296)(554,415)])
link(X2,12484728:Var3,[(580,290)(745,290)(745,415)])
link(X3,9177964:Var1,[(587,296)])
}
Add(Hub,11991298,616,364)
{
OutCount=5
link(onEvent1,5847953:doCalc,[])
link(onEvent3,10946398:doNext,[(648,384)(648,214)(591,214)(591,230)])
link(onEvent4,8757944:doData,[(644,391)(644,440)])
link(onEvent5,12339374:doData,[(639,398)(639,475)])
}
Add(GetDataEx,9122785,651,343)
{
link(Data,10290518:Value,[])
}
Add(GetDataEx,11003835,658,329)
{
link(Data,7938028:Value,[])
}
Add(GetDataEx,6972624,350,147)
{
Angle=3
link(Data,2010766:Result,[(202,156)])
}
Add(Counter,10946398,602,224)
{
}
Add(DoData,8239575,588,168)
{
link(onEventData,2533009:doWork2,[])
link(Data,6972624:Var3,[(594,156)])
}
Add(DoData,8757944,658,434)
{
link(onEventData,8178685:doWork1,[(769,440)(769,127)(627,127)])
link(Data,7738539:Var2,[])
}
Add(DoData,12339374,707,469)
{
link(onEventData,2533009:doWork1,[(756,475)(756,138)(641,138)])
link(Data,12484728:Var2,[])
}
Add(HubEx,2533009,637,161)
{
link(onEvent,7938028:doValue,[])
}
Add(Memory,7938028,665,168)
{
Point(Data)
}
Add(Memory,10290518,658,147)
{
}
Add(Img_Point,303235,567,497)
{
DrawSource=1
Point(X)
Point(Y)
Point(Color)
link(Bitmap,1909014:Value,[(573,485)(538,485)])
link(X,2290288:Var,[])
link(Y,900159:Var,[])
}
Add(MathParse,3459442,455,497)
{
DataCount=1
MathStr="255 - 4*%1"
link(onResult,12569120:doRGB,[])
link(X1,9177964:Var2,[(461,431)(608,431)])
}
Add(RGB,12569120,511,497)
{
link(onRGB,303235:doDraw,[])
link(G,7070108:Var2,[])
link(B,7070108:Var3,[(531,485)])
}
Add(GetDataEx,7070108,511,476)
{
Angle=3
link(Data,3459442:Result,[(499,485)(499,541)(461,541)])
}
Add(GetDataEx,9177964,595,287)
{
link(Data,10946398:Count,[])
}
Add(LineBreak,14005060,455,98)
{
Caption="x"
Type=1
link(Data,8332390:Count,[])
Primary=[2290288,119,350]
}
Add(LineBreak,15110474,245,147)
{
Caption="y"
Type=1
link(Data,5732910:Count,[])
Primary=[900159,336,322]
}
Add(Button,9657125,91,105)
{
Left=90
Top=20
link(onClick,8450866:doFor,[])
}
Add(Memory,1909014,532,441)
{
}
Add(FastMathParse,6620730,707,364)
{
DataCount=3
MathStr="2*%1*%2 + %3"
Point(doClear)
link(X1,9122785:Var3,[(713,352)])
link(X2,11003835:Var3,[(720,338)])
link(X3,6972624:Var2,[(727,274)(363,274)])
}
Add(FastMathParse,5847953,658,364)
{
DataCount=3
MathStr="%1*%1 - %2*%2 + %3"
Point(doClear)
link(onResult,6620730:doCalc,[])
link(X1,9122785:Var2,[])
link(X2,11003835:Var2,[])
link(X3,5755526:Result,[(678,282)(356,282)])
}
Add(GetDataEx,12484728,700,406)
{
link(Data,6620730:Result,[])
}
Add(HubEx,8178685,623,140)
{
link(onEvent,10290518:doValue,[])
}
Add(GetDataEx,7738539,651,406)
{
link(Data,5847953:Result,[])
}