Я пытаюсь добраться до атрибутов во входящих и исходящих ссылках нескольких объектов, и моя цель - не перечитывать один и тот же модуль снова, сохраняя прочитанный модуль в списке пропуска и проверяя список пропуска перед чтением модуля в следующий раз. около.
Итак, мой вопрос: как мне получить данные имени модуля, которые я сохранил в списке пропуска, если он уже открыт ранее? Будет ли достаточно строки m2 = module item str2 для замены функции чтения, если этот модуль был открыт ранее?
Ниже моя попытка получить атрибуты внутренних ссылок объекта:
Skip sInlink = create()
void get_object_inlinks (Object obj)
{
string str, str2
LinkRef lk = null
Object o = null
for lk in all (obj <- "*") do
{
ModName_ mn = source(lk)
str = fullName(mn)
if (!find(sInlink, str, str2))
{
m2 = read(str, false)
put(sInlink, str, str)
}
else
m2 = module item str2
if (m2 != null)
{
o = gotoObject(sourceAbsNo(lk), m2)
// get object o attributes
...
}
}
}