OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 10 Декабрь, 2019 11:46

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




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: Пятница, 14 Февраль, 2014 17:32 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4539
Откуда: Россия, Орёл
http://oberoncore.ru/bbcc/subs/omc/metaitemsrw


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 14 Февраль, 2014 18:59 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2638
Откуда: Россия, Ярославль
Динамические хранилища, записывающие сами себя это интересно.
Но если вдруг кому-то понадобится сделать Meta.Item из статического рекорда без создания указателя, всегда можно воспользоваться вот таким вот механизмом:
Код:
   PROCEDURE Lookup(VAR r: ANYREC; OUT i: Meta.Item);
      VAR type: Kernel.Type; mod: Kernel.Module; attr: Kernel.ItemAttr; global: BOOLEAN;
   BEGIN
      attr.obj := Meta.varObj;
      attr.typ := Meta.recTyp;
      attr.vis := Meta.exported;
      attr.adr := Services.AdrOf(r);
      attr.ptr := NIL;
      attr.mod := NIL;
      attr.desc :=Kernel.TypeOf(r);
      attr.ext := NIL;
      mod := Kernel.modList;
      WHILE (mod # NIL) & ((attr.adr < mod.data) OR (attr.adr >= mod.data + mod.dsize)) DO
         mod := mod.next
      END;
      IF mod # NIL THEN
         global := TRUE
      ELSE
         global := FALSE
      END;
      attr.mod := mod;
      Meta.GetThisItem(attr, i)
   END Lookup;


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

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


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

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


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

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