Вверх ↑
Разработчик
Ответов: 26068
Рейтинг: 2121
#1: 2020-03-29 12:50:06 ЛС | профиль | цитата
Sersey писал(а):
К тому же если посмотреть на код EventFromData, он проще и меньше Memory

Интересно, с чего бы это?

Код EventFromData для нужных методов:
procedure THIEventFromData._work_doData;
var ldt:TData;
begin
ldt := ReadMTData(_Data,_data_Data);
FreeData(@dt);
CopyData(@dt,@ldt);
end;

procedure THIEventFromData._var_GetData;
begin
_hi_OnEvent(_event_onEvent,_Data);
_data := dt;
end;

Код Memory для нужных методов:
procedure THIMemory._work_doValue;
begin
FData := ReadData(_Data,_data_Data);
_hi_CreateEvent(_Data,@_event_onData,FData);
end;

procedure THIMemory._var_Value;
begin
_Data := FData;
end;

Неподключенные методы не компилируются в код, это для справки, вдруг не знал. В EventFromData еще и перенос MT-данных есть из одной переменной в другую. Тут вообще тогда можно спокойно и вот так делать
Схема

Add(MainForm,2953706,126,210)
{
link(onCreate,2015505:doEvent1,[])
}
Add(MT_MultiMem,1337295,280,224)
{
@Hint=#42:А почему бы тогда не использовать вот это?|
Count=1
AddHint(46,-30,198,26,@Hint)
}
Add(VisualStrings,16177934,231,224)
{
Lines=#4:test|
Point(doText)
Point(onText)
link(onText,1337295:doValue,[])
}
Add(DoData,10361688,280,287)
{
link(onEventData,11032468:doText,[])
link(Data,1337295:Value1,[])
}
Add(Hub,2015505,189,224)
{
link(onEvent1,16177934:doText,[])
link(onEvent2,10361688:doData,[(221,237)(221,293)])
}
Add(Label,11032468,350,287)
{
Left=15
Top=15
}

Но почему-то никто не делает. Да, кода немного больше, но ведь работает же
карма: 22

0
Редактировалось 3 раз(а), последний 2020-03-29 12:54:57