-2

我想在 VB.NET 中将对象转换为 Idfdocument

 Id = m_DfClientX.getId(itemID)
'itemID string
If (Id IsNot Nothing) Then
sysObj = CType(session.getObject(Id), IDfSysObject)
nesne = sysObj.getContent()

Dim doc As IDfDocument = CType(nesne, IDfDocument) 

例外

例外是:'System._Object' türündeki COM nesnesi 'DFCLib.IDFDocument' arabirim türüne atanamadı。'{EFAC2D68-175B-9927-006097C27C31}' IID'sine sahip arabirim için COM bileşenindeki QueryInterface çağrısı aşağıdaki hatayla başarısız olduğundan bu işlem başarısız oldu。Böyle bir arabirim desteklenmiyor。(HRESULT özel durum döndürdü:0x80004002 (E_NOININTERFACE))。

4

1 回答 1

1

我不认为它从 dfc 客户端对象获取 id 对象的聪明方法,但如果你这样做,你就可以拥有这个代码:

Dim session As IDfSession
Dim persistantObject As IDfPersistentObject
Dim idfdocumentObject As IDfDocument

'Acquiring session
Set session = Nothing
Set session = dctm.GetSession

'getting object
Set persistantObject = session.getObject(Id)

'casting
Set idfdocumentObject = persistantObject 

如果您将 id 作为字符串,则可以使用这种方式获取您的对象:

session.getObjectByQualification("dm_document where r_object_id = '" + itemIdString + "'")
于 2014-11-06T12:57:37.593 回答