использую: 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.
пс. работаю под убунтой, о в теме про ББ под вайн говорят "подводных камней нет"