CInventoryItem* CUIMpTradeWnd::CreateItem_internal(const shared_str& name_sect) { CLASS_ID class_id = pSettings->r_clsid(name_sect,"class"); DLL_Pure *dll_pure = xrFactory_Create(class_id); VERIFY (dll_pure); CInventoryItem* pIItem = smart_cast<CInventoryItem*>(dll_pure); pIItem->object().Load (name_sect.c_str()); VERIFY (pIItem); return (pIItem); }
CUICellItem* CUIBagWnd::CreateItem(const shared_str& name_sect) { counter++; CLASS_ID class_id = pSettings->r_clsid(name_sect,"class"); DLL_Pure *dll_pure = xrFactory_Create(class_id); VERIFY (dll_pure); CInventoryItem* pIItem = smart_cast<CInventoryItem*>(dll_pure); pIItem->object().Load (name_sect.c_str()); VERIFY (pIItem); return create_cell_item (pIItem); }