Исходный код
//---------------------------------------------------------
// Создает объект в составе указанного объекта
//---------------------------------------------------------
// выбрать объект
MessageBox(NULL, "Укажите объект в составе которого будет создан новый объект", "TDMS Example", MB_OK | MB_ICONINFORMATION);
CComPtr<ITDMSObject> pParentObject;
if (SelectObject(&pParentObject, pApp, NULL))
{
// получить тип объекта
CComPtr<ITDMSObjectDef> pObjectDef;
CComPtr<ITDMSObjectDefs> pObjectDefs;
CheckError(pApp->get_ObjectDefs(&pObjectDefs));
// по номеру
VARIANT var;
var.vt = VT_I4;
var.lVal = 0;
CheckError(pObjectDefs->get_Item(var, &pObjectDef));
// по имени
//VARIANT var;
//var.vt = VT_BSTR;
//var.bstrVal = A2BSTR("FM_APARTMENT");
//CheckError(pObjectDefs->get_Item(var, &pObjectDef));
//VariantClear(&var);
// создать объект в составе
CComPtr<ITDMSObjects> pObjects;
CheckError(pParentObject->get_Content(&pObjects));
CComPtr<ITDMSObject> pObject;
var.vt = VT_DISPATCH;
CheckError(pObjectDef->QueryInterface(IID_IDispatch, (void**)&var.pdispVal));
CheckError(pObjects->Create(var, &pObject));
VariantClear(&var);
}