问题标签 [tlbinf32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2127 浏览

com - 64 位 .Net 应用程序中的 tlbinf32.dll

似乎没有 64 位版本tlbinf32.dll,这个(旧)COM DLL 用于提取 COM 组件的信息。(见这个答案

我需要从 64 位 C# 应用程序访问它。我没有设法将它托管到一个单独的代理进程中,我仍在获得异常 REGDB_E_CLASSNOTREG。我的代码适用于 x86 平台,但我也必须为 64 位实现它。

任何人都可以通过提供一步一步的过程来帮助我将它启动到代理 ( Dllhost) - 或者可能是另一种使用它的方式吗?

您是否知道通过本机 COM Dll 的所有方法、类进行浏览的更好选择?

0 投票
1 回答
209 浏览

vba - 如何从 ITypeLib 指针获取 TypeLibInfo?

我想使用 tlbinf32.dll 来读取 COM 对象的类型信息。目前我可以访问指向 ITypeLib 接口的指针。我可以使用 VTable 偏移量和 DispCallFunc 手动调用方法和导航,但是我希望使用该库的强大内置功能。

我在想,既然TLI.ClassInfoFromObject(Object As IUnknown)可以用来查询 IDispatch::GetTypeInfo 方法,我可以手动构造一个只实现此方法的虚拟对象,以允许将 TypeInfo 读入内存。类似于手动定义IEnumVariant大多数方法返回的位置E_NOTIMPL = &H80004001。这听起来可行吗?有没有更简单的方法可以使用 VBA 从指针访问 TypeInfo?


更新

需要明确的是,我的问题是我找不到声明 ITypeInfo 接口并允许我直接使用它的方法 - VBAIUnknown从 stole2.tlb 访问,所以我可以很好地使用它,但我唯一能找到 ITypeInfo 声明的地方在 mscorlib.dll 中,但它没有 COMVisible 属性,因此无法在 VBA、AFAIK 和 VBA 中访问它,并且 VBA 没有[ComImport]让您自己使用 GUID 定义它的等效项。所以我想使用 tlbinf32.dll 来避免我不得不使用原始指针。

0 投票
0 回答
4 浏览

xmlserializer - 64 位 vba/Ms 访问中的 tlbinf32.dll

对不起,我的英语说的是西班牙语。我在 Ms Access 64 位中有一个应用程序。我的目标是将对象的序列化集合存储在表的字段中。为此,我正在使用 VB Helper http://www.vb-helper.com/howto_vb6_serialize.html中发布的函数,为此我必须有权访问 tlbinf32。好吧,这个 dll 是 32 位的,但由于 @Simon Mourier在 64 位.Net 应用程序中的回答 tlbinf32.dll,它可以添加为 COM+ 应用程序以在 64 位应用程序中使用。这一直很好,但是我如何在 vba 模块中使用 Tools -> References 来引用它?提前致谢

爱德华多