tsdima писал(а):
Handle мультика пока нельзя в полной мере считать интерфейсом, поскольку без самого мультика это просто число.Ну как раз это и предлагается изменить... Если мы для себя определимся, что все такие магические действия мы будем совершать посредством именно мультика.
Посредством чего - мы еще не говорили. Но это проговорить и определиться - необходимо, безусловно....
Тут я попробую немного уточнить свою позицию по отношению к разным пакетам.
Ну что такое пакет Дельфи - это способ кодогенерации основанный на том, что он абсолютно не занимается персональным парсингом кодов элементов.
Из этого все, собственно, и следует.
Например серьезные вопросы по эффективности кода.
Но он же может служить быстрым и эффективным полигоном для отладки интерфейсных вопросов.
Ну например, мы уже сегодня можем судить, насколько удобно использовать имеющийся к нас "линк", или работать с массивом мультиков в одном контейнере. Чего-то относительно быстро изменить, и относительно быстро проверить...
Так давайте об этом говорить
А вопросы эффективности отрабатывать на FTCG/RTCG. Мне представляется, что эта идеология совершенно не противоречит исходной (ну должно же быть чего-то исходное) модели "паровозиков".
Просто из этой идеологии надо убрать прилагательное "однопроходный", и все сварится.
Бога ради, я не собираюсь никого обращать в свою веру на этот предмет, но чтобы начать работать самому, мне необходимо серьезно изучить концепцию именно интерфейса.
Ну вот не умею я наоборот, и очень прошу извинить меня за это...
В общем, просьба в пианиста не стрелять
Ну а про опознавание именно средой отношений наследования. Ну хорошо бы было....
Но логичней говорить об этом будет после того, как определимся, как это наследование интерфейсно выглядит и какие возможности пользователю дает.
Ну так давайте же...
Ну мне и слушать тоже интересно, не только говорить
А то получается: "открою кодекс на любой странице, и не могу - читаю до конца..."
Про пакет Дельфи как средство испытаний:
Ну не определяет сегодня среда отношений наследования, и ##handle является целым числом...
И что...
Это от того, что, при имеющейся сегодня системе защиты (принадлежность только собственному листу) - этого достаточно.
Как только мы задумаемся о "чужих" хэндлах то сделаем его объектным типом.
Вон, Dilma давно уже предлагал сделать наш сегодняшний guid структурой из 2-х полей: сам guid, и указатель на guid-предка
Получится некая система RTTI. Но она будет работать.
И это ну аж никак не запрещает технологии FTCG/RTCG разрешить все эти вопросы в DesignTime
Т.е., как бы я не вижу особо принципиальных кодовых проблем, коль скоро мы определимся с интерфейсом: надо будет просто взять и сделать...
tsdima писал(а):
но как среда определит, на какой мультик ссылается этот Pointer? Ведь от этого должен зависеть набор точек у этого компонентаНу мои предложения были таковы:
Как бы, для понимания пользы этого выбора, я и пытался рассказать страшную историю про TStream в предыдущих постах.
Если не убедительно - ну извините, свои педагогические таланты я расцениваю крайне не высоко. Давайте задавать вопросы, что-ли...
tsdima писал(а):
В конце-концов, один объект может предоставлять несколько интерфейсов, как быть в этом случае?А я полностью согласен
У нас неплохая аналогия с COM. И все слова, которые произносят апологеты COM, про то, что именно у них (не не в классическом ООП) и наследование более настоящее, и инкапсуляция более правильная - мы могли бы взять на вооружение.
Пустой мультик - это только интерфейс. Можно даже сказать что интерфейс, это элемент EditMulti
Несколько интерфейсов - точки добавляются.
Наполнение мультика - ну вот так он обеспечивает все возможные интерфейсы.
Получить какой-то конкретный интерфейс: ну скрыть все ненужное, оставить в default-е скрытые внешние св-ва...
Как быть в этом случае
А я тоже хочу задать вопрос и послушать здравые и красивые предложения
Может совместить с наследованием как-то.... Типа ничего не меняли (хотя, почему-бы и нет, но могли же и ничего не менять), только изменили профиль видимых точек и св-в......
Это - не более чем мысли вслух, пока...
------------ Дoбавленo:
Dilma писал(а):
Про пользовательские конструкторы данных я уже как раз думал. Особенно когда надо упаковать их в массивА я даже видел "тренировки" коллеги tsdima на этот предмет
Кажется он делал схемку, которая настраивает цвета для синтаксической подЦветки для встроенного в HiAsm редактора
Точно не помню.
Dilma, вопрос то в том, что хочется делать по-сложнее: делать массив из TTreeNode (который определен в RTCGCodeTree.h) на HiAsm
Как бы я с этого и начинал: хиасмист - тоже человек
И он имеет право написать CodeGen на HiAsm
И предлагал разделить задачу на две части:
1) Как нарисовать такую схему
2) Как эту схему преобразовать в код: чтобы душа развернулась, а потом обратно свернулась
И пытаюсь сказать что для решения первого вопроса нет необходимости решать второй.
И трудно (я так - вообще не умею) решать второй, не видя решения первого