OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 08:02

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




Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Мелкая поправка к Views.Old
СообщениеДобавлено: Четверг, 28 Май, 2020 14:52 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Коллеги,
Views.Old(...VAR name: Files.Name...) - открывает зритель (View) из файла. Имя файла может быть передано в краткой форме - без расширения; в этом случае полагается расширение .ocf.
Однако, хотя name - параметр-переменная, Old не корректирует ее значение, когда добавляется расширение .ocf!! Из-за этого иногда, напр, при попытке открыть уже открытый в окне текст, система "не находит" его, и создает дубликат в новом окне. Если не заметишь получишь, рассогласование: часть изменений - в одном окне, часть - в другом, и бардак - везде.

("Иногда", потому что многие команды до вызова Views.Old сами дополняют краткую форму, вызвав Kernel.MakeFileName; но не все).

Как поправить:
Views.Old реализуется через крюк Views.ViewHook.OldView:
PROCEDURE (h: ViewHook) OldView (loc: Files.Locator; name: Files.Name; VAR conv: Converters.Converter): Views.View;
Вот если ему тоже указать VAR name: Files.Name, то добавленное дефолтное расширение окажется на месте, и рассогласования не будет. Я полагаю, что это мелкий недосмотр, поскольку conv передается как переменная, а не как значение.

Предлагаю поправить. Слово VAR добавится в модуле Views и StdDialog, где реализуется крюк.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 

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


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

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


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

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