OberonCore https://forum.oberoncore.ru/ |
|
Как открыть view из файла и записать в текст? https://forum.oberoncore.ru/viewtopic.php?f=23&t=253 |
Страница 1 из 1 |
Автор: | Cardinal [ Вторник, 20 Июнь, 2006 16:24 ] |
Заголовок сообщения: | Как открыть view из файла и записать в текст? |
Открываю свою 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 ] |
Заголовок сообщения: | |
Дело в том, что открытый View уже является собственностью некоторого документа Documents.Document, который был открыт из файла. И вставить второй раз в другую модель нельзя. Нужно сделать копию: formatter.WriteView(Views.CopyOf(view, FALSE)). |
Автор: | Cardinal [ Воскресенье, 25 Июнь, 2006 19:04 ] |
Заголовок сообщения: | |
Спасибо. |
Автор: | Сергей Губанов [ Воскресенье, 25 Июнь, 2006 22:48 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Дело в том, что открытый View уже является собственностью некоторого документа ... Нужно сделать копию
Может его просто не открывать в документ? Просто считать самому с помощью rd: Stores.Reader. VAR s: Stores.Store; rd.ConnectTo(file); rd.ReadStore(s); view := s(Views.View); |
Автор: | Илья Ермаков [ Понедельник, 26 Июнь, 2006 12:14 ] |
Заголовок сообщения: | |
Дело в том, что формат ODC предполагает, что корневым View в файле является именно Documents.Document. Так что Ваш код считает его. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |