1. Если храните какие-то данные, то лучше не хранить числа в строках. И стараться не путать и лишний раз не перегонять из числа в строку и обратно. В вашей схеме вы храните индексы (числа) в TreeViewEx который хранит их как строки.
2. Конвертировать из одного типа в другой и обратно не самое лучшее решение, особенно когда в этом нет необходимости и это можно избежать. Данные в МТ-потоке лучше и не разбирать в строку.
Add(MainForm,2953706,49,147)
{
}
Add(TVT_GetNode,4818677,336,567)
{
TreeView="main_tree"
link(onGetNode,4184266:doEvent1,[])
}
Add(MT_AddData,5809070,469,574)
{
Count=3
link(onAdd,7581593:doChangeNode,[])
link(Data1,411130:Index,[(475,562)(432,562)(432,672)(174,672)])
link(Data2,10095446:Value1,[])
link(Data3,112757:Value,[(489,544)(594,544)])
}
Add(TVT_ChangeNode,7581593,525,574)
{
TreeView="main_tree"
}
Add(Memory,112757,588,483)
{
Default=Integer(-1)
AddHint(58,-25,24,13,Default)
}
Add(MT_MultiMem,10095446,476,497)
{
From=1
Count=1
AddHint(-8,-30,21,13,From)
}
Add(Hub,4184266,392,567)
{
link(onEvent1,10095446:doValue,[(423,573)(423,503)])
link(onEvent2,5809070:doAdd,[])
}
Add(ArrayEnum,411130,161,567)
{
}
Add(InfoTip,4923121,126,133)
{
Info=#40:Из МТ-потока в строку и потом обратно???|
Frame=2
Width=589
Height=235
}
Add(InfoTip,12664925,126,441)
{
Info=#50:Данные остаются в МТ-потоке без лишней конвертации|
Frame=2
Width=589
Height=249
}
Add(TVT_GetNode,7190274,196,301)
{
TreeView="main_tree"
link(onGetNode,12472930:doStr,[])
}
Add(MT_String,12472930,303,301)
{
link(onResult,3789096:doSplit,[])
}
Add(MultiStrPart,3789096,378,301)
{
Count=3
link(onSplit,9211333:doAdd,[])
}
Add(MT_AddData,9211333,539,301)
{
Count=3
link(Data2,3789096:Part2,[(552,272)(472,272)(472,343)(391,343)])
link(Data3,10081275:Text,[(559,207)(524,207)])
}
Add(VisualStrings,10081275,518,154)
{
Lines=#2:-1|
Width=46
}
Add(MainForm,2953706,133,105)
{
Width=506
Height=437
Position=1
}
Add(Debug,16332449,315,224)
{
WEName="Debug1"
VDName=""
AddHint(-28,-42,53,13,WEName)
}
Add(Button,9314725,133,224)
{
Left=70
Top=90
Caption="test1"
link(onClick,11509720:doAdd,[])
}
Add(MT_AddData,11509720,210,224)
{
link(onAdd,16332449:doEvent,[])
link(Data1,1299895:Text,[])
link(Data2,11519366:Value,[(223,180)(265,180)])
}
Add(Edit,1299895,210,105)
{
Left=150
Top=90
Text="-1"
AddHint(-7,-32,24,13,Text)
}
Add(Memory,11519366,259,105)
{
Default=Integer(-1)
AddHint(2,-28,24,13,Default)
}
Add(Debug,4777708,315,441)
{
WEName="Debug2"
VDName=""
AddHint(-27,-37,53,13,WEName)
}
Add(Button,5345560,140,441)
{
Left=75
Top=215
Caption="test2"
link(onClick,6231637:doAdd,[])
}
Add(MT_AddData,6231637,217,441)
{
link(onAdd,4777708:doEvent,[])
link(Data1,461127:Text,[])
link(Data2,12253505:Text,[(230,401)(279,401)])
}
Add(Edit,461127,217,322)
{
Left=150
Top=215
Text="100"
AddHint(-7,-32,33,13,Text)
}
Add(Edit,12253505,273,322)
{
Left=215
Top=215
Text="сто"
AddHint(-7,-32,32,13,Text)
}