OberonCore
https://forum.oberoncore.ru/

непонятки с фаилами
https://forum.oberoncore.ru/viewtopic.php?f=23&t=4112
Страница 1 из 1

Автор:  ___ [ Понедельник, 08 Октябрь, 2012 10:13 ]
Заголовок сообщения:  непонятки с фаилами

использую: TextModels, TextMappers, Views

что-то недопонимаю, как правильно работать с файлами

задача,из нескольких стандартных ББ фаилов взять разные куски и положить в новый.
(за пример брал i21eduОбслуга и i21eduОбслугаЧерепашки)

Код:
v := Views.OldView(loc, задача$); (*подключение к вьюшке хранящейся в файле*)
old := v(TextViews.View).ThisModel(); (*получение текстовой модели*)
rd := old.NewReader(rd); (*получение нового ридера в модели*)
(*ридером ходим, ищем позиции*)

new := TextModels.dir.New(); (*новая текстовая модель*)
wr := new.NewWriter(wr); (*врайтер для модели*)
new.InsertCopy( wr.Pos(), old, start, end ); (*вставка содержимого из олд*)

v := TextViews.dir.New( new ); (*созд новой вьюшки на базе модели*)
Views.OpenView( v ); (*открытие документа с вьюшкой*)
Views.SetDirty( v ); (*?*)


открытый документ руками сохраняю куда-нибудь

в этом документа так же в ручную что-то нужно дописать, или скриптом вставить список файлов.
(есть процедура вставки(П1), списка файлов в текущий документ и
процедура чтения списка из указанного файла(П2))

в целом работает
но:
1) иногда после вставки дополнительного текста отказывается сохраняться, мотивируя, что фаил используется
2) иногда чтение из только что сохраненного файла процедурой П2 выдает старый результат. как будто фаил не сохранялся. (очень похоже на ситуацию с загрузкой/выгрузкой модулей)

не могу толком понять в чем дело
может нужно как-то правильно освобождать фаил полученный таким образом? для типа Files есть метод Close.

пс. работаю под убунтой, о в теме про ББ под вайн говорят "подводных камней нет"

Автор:  Info21 [ Понедельник, 08 Октябрь, 2012 10:21 ]
Заголовок сообщения:  Re: непонятки с фаилами

Не претендуя на полноту ответа:
в подобных случаях следует делать всякие Close, а также Services.Collect.

Автор:  Евгений Темиргалеев [ Понедельник, 08 Октябрь, 2012 11:49 ]
Заголовок сообщения:  Re: непонятки с фаилами

___ писал(а):
1) иногда после вставки дополнительного текста отказывается сохраняться, мотивируя, что фаил используется
2) иногда чтение из только что сохраненного файла процедурой П2 выдает старый результат. как будто фаил не сохранялся. (очень похоже на ситуацию с загрузкой/выгрузкой модулей)
1) Регулярно наблюдается эффект "файл используется" при сохранении документов (wine/ubuntu). Обычно жмёшь "повторить" и сохранение происходит, поэтому в деталях не разбирались.

2) Сохранение в файл не переписывает содержимое старого файла. Создаётся новый файл, который замещает старый. Старый удалится по закрытии/сборке мусора, пока же он присутствует в системе Блэкбокс, он и читается.

Можно привести пример, как Вы пишете тексты и как читаете?

Автор:  ___ [ Понедельник, 08 Октябрь, 2012 17:58 ]
Заголовок сообщения:  Re: непонятки с фаилами

Евгений Темиргалеев писал(а):
1) Регулярно наблюдается эффект "файл используется" при сохранении документов (wine/ubuntu). Обычно жмёшь "повторить" и сохранение происходит, поэтому в деталях не разбирались.

при "повторить" не проходит,но если "отменить" и переставить курсор, то вроде сохраняет...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/