OberonCore https://forum.oberoncore.ru/ |
|
"Универсальная" обёртка https://forum.oberoncore.ru/viewtopic.php?f=23&t=2850 |
Страница 1 из 1 |
Автор: | GameHunter [ Вторник, 14 Сентябрь, 2010 23:51 ] | ||
Заголовок сообщения: | "Универсальная" обёртка | ||
Насколько мне известно, создать в ББ универсальную обёртку (wrapper) не возможно, так как обёрнутый объект экранируется обёрткой от среды. Кажется, нашёлся относительно лёгкий способ убрать экранирование. Для этого достаточно в одном месте изменить модуль Documents, а именно процедуру Код: PROCEDURE (d: StdDocument) ThisView (): Views.View; BEGIN RETURN d.model.view END ThisView; заменить на Код: PROCEDURE (d: StdDocument) ThisView (): Views.View; BEGIN RETURN Wrapper.Inner(d.model.view) END ThisView; , где Wrapper.Inner возвращает обёрнутый объект. Тогда для всех расширений базовой обёртки, описанной в модуле Wrapper, экранирование исчезает. Все другие обёртки работают с экранированием, как и раньше. Этот способ основан только на экспериментальных наблюдениях (ББ 1.6) и по этому может быть ошибочным. Пока всё работает... Что уважаемые специалисты думают об этом?
|
Автор: | Info21 [ Среда, 15 Сентябрь, 2010 11:22 ] |
Заголовок сообщения: | Re: "Универсальная" обёртка |
Wrapper разве не избыточность? |
Автор: | GameHunter [ Среда, 15 Сентябрь, 2010 16:44 ] |
Заголовок сообщения: | Re: "Универсальная" обёртка |
Не знаю... У меня обёртки применяются пока для изменения цвета фона, инверсии цветов, автораскраски синтаксиса. Как это всё сделать без обёрток? И на форуме этот вопрос несколько раз поднимался... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |