OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 08 Декабрь, 2019 10:29

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: "Универсальная" обёртка
СообщениеДобавлено: Вторник, 14 Сентябрь, 2010 23:51 

Зарегистрирован: Вторник, 22 Май, 2007 15:38
Сообщения: 159
Откуда: Питер
Насколько мне известно, создать в ББ универсальную обёртку (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) и по этому
может быть ошибочным. Пока всё работает...

Что уважаемые специалисты думают об этом?


Вложения:
WrapperNoScreening.rar [15.26 КБ]
Скачиваний: 189
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Универсальная" обёртка
СообщениеДобавлено: Среда, 15 Сентябрь, 2010 11:22 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8209
Откуда: Троицк, Москва
Wrapper разве не избыточность?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: "Универсальная" обёртка
СообщениеДобавлено: Среда, 15 Сентябрь, 2010 16:44 

Зарегистрирован: Вторник, 22 Май, 2007 15:38
Сообщения: 159
Откуда: Питер
Не знаю...
У меня обёртки применяются пока для изменения цвета фона, инверсии цветов, автораскраски синтаксиса. Как это всё сделать без обёрток?
И на форуме этот вопрос несколько раз поднимался...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB