OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 15:34

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Вторник, 30 Март, 2010 10:14 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Доброго дня.

Несколько вопросов по теме. Пока больше всего интересует следующий:

Не могу понять почему после выполнения кода размер текста в модели равен 0.

Код:
c := TextControllers.Focus();
   IF c # NIL THEN
      c.GetSelection(sb,se);
      buf := TextModels.CloneOf(c.text);
      Log.Int(buf.Length());Log.Ln; (* buf.Length() == 0*)
        ...
        END


В фокусе находится окно с программой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 30 Март, 2010 11:02 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Из-за неудачного названия процедуры. Согласно документации:
Цитата:
PROCEDURE CloneOf (source: Model): Model
This procedure should be used to obtain a new text from the same type as another existing text.

То бишь она делает объект такого же типа, но отнюдь не с тем же содержимым. По хорошему эта процедура должна называться как-то типа NewWithSameType.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 30 Март, 2010 11:31 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Спасибо!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 09 Декабрь, 2012 21:33 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Вот эта вот TextModels.CloneOf, оказывается, делает клон с одной целью - разделить между клонами некую структуру SpillFile, содержащую ссылку на временный файл.

Получается, что каждой текст-модели соответствует свой временный файл на диске. Сперва мы тут подумали, что это работает только для текстов, загруженных из файла, но вот если приглядеться к процедуре TextModels.StdWriter.WriteChar, то можно увидеть, как там открывается этот самый спилл-файл.

Что-то жирновато получается, под каждый текст заводится свой файл. Тогда логична необходимость операции клонирования, не позволяющая плодиться временным файлам.


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

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


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

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


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

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