我曾经有一个本地 C++ 项目,它使用 TLB 来引用一些类定义,如下所示:
#import "Data.tlb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
而这个原生 c++ 具有使用来自这个 TLB 的项目的函数。所以例子:
MyClass::TransferData(_Scalars myScalars)
{
// do transfer
}
如上所见,_Scalars
是TLB内部的一个接口。这个函数的目的是将一些数据从 MyClass (native C++) 传输到 GUI (VB6)
有一个项目更改,其中 GUI 已转换为 VB.NET,因此我已将本机 c++ 项目更改为托管/非托管 C++/CLI 项目。所以现在,Data.tlb
(从 VB6 项目生成) - 现在是一个 VB.NET 项目,可以作为对我的 C++/CLI 项目的引用添加!
所以现在我有了这个参考,我怎样才能真正使用其中的类呢?显然,函数参数 _Scalars 现在给出了一个错误,因为我不再使用 TLB。