Вверх ↑
Ответов: 3889
Рейтинг: 362
#1: 2011-04-20 13:57:37 ЛС | профиль | цитата
LastLeader, Давайте вернёмся к истокам и попробуем по шагам, вот (как обычно, немного ламерский)) ) пример сбора самых разных данных с помощью несколько нестандартного применения ChanelToIndex с последующей упаковкой в поток и засылкой с клиента на сервер. Подавайте любые данные на его точки, в любом порядке. С другой стороны сетевого канала, на выходах IndexToChanel, на соответствующих по номеру событиях будут появляться готовые потоки с Вашими данными в нужном (исходном) виде. (изменения в схему буду вносить тут, если что)


Add(ScrollBar,5133325,140,224)
{
Left=10
Top=70
link(onPosition,12524206:doWork1,[(226,230)(226,237)])
}
Add(MainForm,15673233,322,518)
{
Left=21
Top=106
Width=131
Height=135
Position=1
link(onCreate,9973059:doEvent1,[])
}
Add(StreamPack,14434465,378,280)
{
DataCount=#10:тип данных|6:данные|0:|
link(onPack,7240964:doSend,[])
link(данные,12524206:Data,[(391,268)(367,268)(367,323)(307,323)])
}
Add(StreamUnPack,13235102,525,364)
{
DataCount=#10:тип данных|6:данные|0:|
link(onUnPack,4233687:doEvent,[])
}
Add(TCP_Server,6739532,476,364)
{
Port=777
DataType=3
link(onRead,13235102:doUnPack,[])
}
Add(TCP_Client,7240964,469,266)
{
Port=777
IP="127.0.0.1"
DataType=3
}
Add(Hub,9973059,392,532)
{
link(onEvent1,6739532:doOpen,[(427,538)(427,370)])
link(onEvent2,7240964:doOpen,[(438,545)(438,272)])
}
Add(IndexToChanel,4233687,581,364)
{
Count=1
Point(Index)
Point(Data)
link(onEvent1,15367893:doPosition,[])
link(Index,13235102:тип данных,[(587,352)(572,352)(572,419)(531,419)])
link(Data,13235102:данные,[(594,347)(566,347)(566,415)(538,415)])
}
Add(ChanelToIndex,12524206,301,231)
{
Count=1
Point(Data)
link(onIndex,14434465:doPack,[(355,237)(355,286)])
}
Add(ScrollBar,15367893,644,364)
{
Left=10
Top=5
}
Add(InfoTip,3334499,91,168)
{
Info=#16:КЛИЕНТСКАЯ ЧАСТЬ|
Width=421
Height=165
}
Add(InfoTip,5126449,259,343)
{
Info=#15:СЕРВЕРНАЯ ЧАСТЬ|
Width=484
Height=137
}





У меня всё работает,на localhost, какая у Вас сеть и качество соединения - учитывайте сами. Пока читаю ветку, можете задавать вопросы по схеме.
------------ Дoбавленo в 13.40:
Кстати, если у Вас только текст кнопок, Вам вообще эти потоки нужны? Может тип данных в клиентесервере dtString установите, упростив себе жизнь и отладку?
------------ Дoбавленo в 13.57:
Глядите, как Вам такой суперсложный пример (обратите внимание на тип данных сетевых компонент):


Add(MainForm,8565467,287,518)
{
Left=21
Top=106
Width=197
Height=83
Position=1
link(onCreate,9973059:doEvent1,[])
}
Add(TCP_Server,6739532,441,364)
{
Port=777
link(onRead,12016071:doCaption,[])
}
Add(TCP_Client,7240964,434,266)
{
Port=777
IP="127.0.0.1"
}
Add(Hub,9973059,357,532)
{
link(onEvent1,6739532:doOpen,[(392,538)(392,370)])
link(onEvent2,7240964:doOpen,[(403,545)(403,272)])
}
Add(InfoTip,3334499,322,168)
{
Info=#16:КЛИЕНТСКАЯ ЧАСТЬ|
Width=155
Height=165
}
Add(InfoTip,5126449,378,343)
{
Info=#15:СЕРВЕРНАЯ ЧАСТЬ|
Width=197
Height=137
}
Add(Edit,4072811,343,280)
{
Width=180
Text="Печатать тут"
link(onChange,7240964:doSend,[])
}
Add(Button,12016071,532,364)
{
Top=25
Width=180
Point(doCaption)
}


карма: 1

0