Создание внедренных объектов
При создании экземпляра с внедренными объектами выполните следующие задачи:
Внедренный объект необходимо объявить как строго типизированный или слабо типизированный.
Строго типизированный объект указывает на объект определенного класса и использует имя класса. Слабо типизированный объект указывает на объект неопределенного класса и использует объект ключевое слово. Оба объекта сопоставляют с типом VT_UNKNOWN .
Значение NULL можно использовать для значения по умолчанию для внедренных объектов и путей в инициализациях и объявлениях.
При внедрении пути к объекту не размещайте пробелы между элементами внедренного пути. Например, путь к объекту "Class1Index=3;" не содержит пробела между именем свойства "Class1index" и присвоенным значением, которое равно "3".
В следующем объявлении класса показано, как объявить строго типизированные и слабо типизированные внедренные объекты.
Class MyClass
{
EmbedClass Object1; // Strongly typed
object Object2; // Weakly typed
};
В следующих примерах описывается объявление внедренных объектов в объявлении класса.
Class Class1
{
[key] sint32 Class1Index;
};
Class Class2
{
[key] sint32 Class2Index;
Class1 EmbedObject1 = instance of Class1{Class1Index=3;};
};
Class Class3
{
[key] sint32 Class3Index;
Class2 EmbedObject2 = instance of Class2 {Class2Index=4;};
};
В следующем примере описывается инициализация одного свойства, который является строго типизированным объектом, и другого свойства, представляющее собой массив слабо типизированных объектов.
Class EmbedClass1
{
[key] sint32 intval;
};
Class EmbedClass2
{
[key] string sval;
};
Class ContainerClass
{
[key] sint32 intval;
EmbedClass1 SingleObject;
Object ArrayObject[];
};
Instance of ContainerClass
{
intval = 33;
SingleObject = instance of EmbedClass1 {intval=99;};
ArrayObject = {instance of EmbedClass2 {sval="something";},
instance of EmbedClass1 {intval=100;}};
};