Я пытаюсь сделать параметризованную библиотеку.Я прекрасно работаю, используя пакеты и соединители в качестве параметров.
Использование модели в качестве параметра также возможно.Тем не менее, если модель используется в библиотеке для создания новых моделей с использованием расширения, то, как я понимаю, это недопустимо.
Интересно, содержит ли библиотека модель с внутренним / внешним стилем соединителя?затем он позволил внутренней модели быть параметром библиотеки?
Ниже приведен простой пример, иллюстрирующий проблему.TEST - это библиотека, а Fish3b - это приложение.Когда я запускаю Пример в библиотеке TEST, все работает, но когда у меня есть отдельный файл приложения, это не так.
Текст ошибки: не удается найти объявление класса для AquariumType, на котором запущен JModelica 2.4
package TEST
model FishType1
outer Real T;
Real health;
equation
health = 30-T;
end FishType1;
model FishType2
outer Real T;
Real health;
equation
health = 32-T;
end FishType2;
package Equipment
model AquariumType
replaceable model FishType
end FishType;
FishType fish;
inner Real T;
equation
T = 29;
end AquariumType;
end Equipment;
// Adapt AquariumType model to actual fish
model Aquarium
import TEST.Equipment.AquariumType;
extends AquariumType(redeclare model FishType=FishType2);
end Aquarium;
// Example
model Example
Aquarium aquarium;
end Example;
end TEST;
А ниже приведен пример кода приложения, который импортируется из библиотеки выше - и здесь, я думаю, есть некоторая ошибка.
encapsulated package Fish3b
model FishType3
outer Real T;
Real health;
equation
health = 34-T;
end FishType3;
// Adapt package Equipment with AquariumType model to actual fish
package Equipment3
import TEST.Equipment;
extends Equipment.AquariumType(redeclare model FishType=FishType3);
end Equipment3;
// Example
model Example
import Fish3b.Equipment3;
Equipment3.AquariumType aquarium;
end Example;
end Fish3b;