Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2009-07-09 15:37:25 ЛС | профиль | цитата
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,[])
}


карма: 27
0
файлы: 1fractal.png [12.6KB] [442]