Перед вызовом event(onCreate) у тебя должен быть установлен текущим блок cur_tmp_func. А ты делаешь block.select(BLK_MAIN), пишешь туда println('function '+code(data_FuncName)+varid, ' takes nothing returns nothing'), а потом вызываешь event(onCreate). И что может записать следующий компонент в BLK_MAIN? Всё, что он запишет, будет находиться после function предыдущего компонента. Я не зря в примере показал, что событие вызывается перед активацией BLK_MAIN, и данные в него заносятся уже после отработки события. То-есть, когда ты вызываешь событие onCreate, ты ничего ещё не должен выводить в BLK_MAIN, так как туда может захотеть что-то написать другой компонент.
Повторяю: если есть общий блок, в который могут писать разные компоненты, значит данные в него заносить только после вызова всех событий. Для этого и создается временный блок, который копируется в главный только после отработки событий.
Ответов: 4628
Рейтинг: 749
|
|||
карма: 26 |
|