OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 16 Июнь, 2025 15:37

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: Вторник, 20 Июнь, 2006 16:24 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 18:08
Сообщения: 76
Открываю свою view из файла:
Код:
   PROCEDURE LoadFromFile*(name: Files.Name; OUT view: Views.View);
      VAR loc: Files.Locator;  conv: Converters.Converter;
   BEGIN
      loc := Files.dir.This( name );
      view := Views.Old( Views.dontAsk, loc, name, conv);
   END LoadFromFile;   

Пишу в текстовую модель formatter.WriteView(view).
Возникает трап: view.context должно быть NIL.
Вопрос: как открыть view из файла и записать в текст?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 20 Июнь, 2006 18:53 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Дело в том, что открытый View уже является собственностью некоторого документа Documents.Document, который был открыт из файла. И вставить второй раз в другую модель нельзя. Нужно сделать копию:
formatter.WriteView(Views.CopyOf(view, FALSE)).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 25 Июнь, 2006 19:04 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 18:08
Сообщения: 76
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 25 Июнь, 2006 22:48 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Илья Ермаков писал(а):
Дело в том, что открытый View уже является собственностью некоторого документа ... Нужно сделать копию


Может его просто не открывать в документ?

Просто считать самому с помощью rd: Stores.Reader.

VAR s: Stores.Store;

rd.ConnectTo(file);
rd.ReadStore(s);
view := s(Views.View);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 26 Июнь, 2006 12:14 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Дело в том, что формат ODC предполагает, что корневым View в файле является именно Documents.Document. Так что Ваш код считает его.


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

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


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

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


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

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