По поводу "динамического MemoryStream" -вот
Add(MultiElementEx,10191662,343,238)
{
Mode=1
}
BEGIN_SDK
Add(EditMultiEx,3605741,3,3)
{
WorkCount=#5:##add|8:##select|
VarCount=#6:Stream|
Point(##add)
Point(##select)
link(##add,1346697:doCopy,[(78,9)(78,55)])
link(Stream,1346697:Stream,[(9,142)(160,142)])
}
Add(MemoryStream,1346697,154,49)
{
}
END_SDK
по ##add заносишь данные, потом для чтения вызываешь ##select с номером нужной копии, и пользуешься нижней точкой Stream