日期:2014-05-18  浏览次数:21235 次

C# 使用tlb
一个tlb文件,具体是用什么语言弄的,暂不清楚,反正不是C#弄的。

我以添加引用的方式,把tlb文件变成COM,这时它会有一个相应的dll文件生成

但是在我使用里面的方法的时候,老是会报

==========================================================
无法将类型为“CCSAutomationServer.AcdAutomationServerClass”的 COM 对象强制转换为接口类型“CCSAutomationServer.IAcdAutomationServer”。此操作失败的原因是对 IID 为“{BAA135B2-F931-11D0-9C14-0060973155F0}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。
==========================================================

这样的错误,到网上找了久,没有得到解决,希望大家指点一下

------解决方案--------------------
我的库文件生成时会产生.tlb文件,这个.tlb文件是干嘛的!?
------解决方案--------------------
tlb 只是com组件的类型说明文件,重要的还是后面的dll,或exe 的com组件

tlb就好像一个餐馆的菜单,你不能认为有了菜单,就可以吃菜,你还要看看后厨开没开火,你有没有钱

------解决方案--------------------
建议你多看看托管和非托管之间的互操作,数据类型的转换,以及接口的稳定性。