1) Содержит или не содержит ошибки конкретно MultiElementEx, зависит от понимания, что есть ошибка. И проблема, как раз, в неодинаковости этого понимания.
Для ЛЮБОГО элемента
2) Это не проблема схемы - а проблема элемента ProcessMessage. Который является инструментом рекурсивного вызова. Того самого, без генерации новых экземпляров объектов.
Фактически - это то же самое "не визуализированное кольцевание"
И может уронить не только эту схему.
Модальные формы еще таким качеством обладают.
3) Меня не привлекает. И не будет привлекать до тех пор, пока MT-техника не приобретет достаточную степень надежности.
Там сегодня есть проблемы. Поэтому, сегодня возводить надстройки, без укрепления фундамента - не стал бы.
Плохим фактором является безусловное изменение структуры входных/выходных данных, по сравнении с инлайнингом мультика.
Если не безусловное, а опциональное, тогда необходимо:
1) Индекс/хэндл схемы должен добавляться не в "хвост", а в "голову". Которые снимаются в MultiElementEx, еще до EditMulti
2) Должны быть специальные типы данных (MultiHandle, MultiIndex) для них - по ним и определяется необходимость индексирования/отсечения данных. Обеспечивая возможность стандартного режима работы.
3) Можно принимать индекс/хендл с верхней точки с зарезервированным именем. С приоритетом, аналогичным стандартному
4) И принимать хэндл события удобней с нижней точки, чем с MT (который может там конечно, и быть, но опять - в "голове", а не в "хвосте" ).
Потому что элемент Memory ничуть не корректнее к параллельным потокам, чем поле MultiElementEx.EvHandle - а схемной мороки побольше будет.
5) Self вещь нужная, независимо от темы этого топика. Но, устроен он должен быть совсем по-другому. Это должен быть объект похожий на элемент, но с уникальными св-ми. Он должен воплощать в себе беспроблемность вызова методом класса ЛЮБОГО метода данного класса. Т.е., он должен иметь комплект скрытых точек, полностью совпадающий со списками EditMultiEx. Ну, возможно, несколько специальных....
[size=-2]------ Добавлено в 22:06
А вот подать на ##Add данные для внешних св-в в виде MT-списка - было бы дело ..........
И реализовать это CodeGen-ом в конструкторе схемы...
В одном загвоздка - СРЕДА не сообщает в CodeGen о том, какое св-во внешнее, а какое нет
Надо бы придумать такой интерфейсный метод с префиксом sdk ...
Ответов: 9906
Рейтинг: 351
|
|||
карма: 9 |
|