如果我在VB6项目中使用类型库,我是否需要在目标计算机上使用已编译的exe分发.tlb文件(甚至可能注册它?)?
答案 0 :(得分:1)
不,通常只有在您实际调用尝试使用类型库中的类型的代码时才需要它。我发现了一些例外,涉及使用类型库中的类型到维度变量。我认为这是这样的......
假设类型库定义了结构A,并且您的应用程序包含这样的过程。如果未注册类型库,则无法启动应用程序 - 将显示错误消息。
Sub testSub1(ByRef mybadarray() As A)
但这没关系
Sub testSub2()
Dim ok As A ' OK provided you never actually Call testSub2 at runtime '
答案 1 :(得分:1)
根据我的经验,我总是将.TLB文件与.EXE一起分发,包括注册,这有助于我防止多个运行时错误,例如"运行时错误' 429':ActiveX组件无法创建对象"。
答案 2 :(得分:0)
不,不。它仅在编译时使用。
答案 3 :(得分:0)
仅当您使用多线程时,即ActiveX EXE或具有CoMarshalInterThreadInterfaceInStream
等功能的进程内。