Вверх ↑
Ответов: 167
Рейтинг: 7
#1: 2020-06-30 17:12:32 ЛС | профиль | цитата
Я уже давно имел маленькую проблемку в понимании динамических контейнеров (да и вообще всех динамических и полиморфных элементов)
Вот простейшая схема :

Add(MainForm,2953706,21,105)
{
}
Add(MultiElementEx,8238370,189,126)
{
Mode=1
link(onTimer,4108184:doData,[])
}
BEGIN_SDK
Add(EditMultiEx,12009789,21,21)
{
WorkCount=#5:##add|8:##delete|
EventCount=#7:onTimer|
VarCount=#7:##index|7:##count|
Point(##add)
Point(##delete)
Point(##index)
Point(##count)
link(##add,3389666:doTimer,[])
}
Add(Timer,3389666,91,21)
{
Enable=1
AutoStop=1
link(onTimer,12009789:onTimer,[])
}
END_SDK
Add(Button,13602014,133,126)
{
Left=100
Top=60
link(onClick,8238370:##add,[])
}
Add(DoData,4108184,238,126)
{
link(onEventData,8238370:##delete,[(298,132)(298,170)(177,170)(177,139)])
link(Data,8238370:##index,[(244,118)(229,118)(229,166)(195,166)])
}
Add(Timer,12621400,154,182)
{
Interval=10
link(onTimer,5263902:doText,[])
}
Add(Label,5263902,196,182)
{
Left=270
Top=195
link(Text,8238370:##count,[])
}

её суть - создать контейнер, который пропадёт через секунду но... В ответ нам вылетит отладочное окно о недопустимости самоуничтожения... (если вы кликаете не быстро, в ином случае ничего не будет) От слова ничего - абсолютно! Схема останется-то! (с.м текст который отображает количество копий контейнера). Вопрос - как же нам провести самоуничтожение, если оно так нужно? Да и вообще почему динамических и полиморфных контейнеров копию нельзя уничтожить событием из этой же копии контейнера?
карма: 0
c, c++, lua
0