gpt4 book ai didi

c++ - 在非托管 C++ 项目中使用 vb.net dll

转载 作者:行者123 更新时间:2023-11-30 04:39:43 25 4
gpt4 key购买 nike

我创建了一个名为“WSdll.dll”的 vb.net dll。我编译了它,创建了一个类型库 (tlb),并在全局范围内注册了它 (gacutil)..它包含一个名为 wsutils.vb 的文件,其中包含一个名为“wsutils”的命名空间。在命名空间中,有一个名为“IWSconnection”的接口(interface)(带有属性)和一个名为“WSconnection”的类。接口(interface)和类以及所有方法和属性都是公开的。

然后我尝试在非托管 C++ 项目中实现它。

我导入了它: #import "..\WSdll\WSdll\bin\Debug\WSdll.tlb"\ raw_interfaces_only,\ named_guids,\ 无命名空间

然后尝试创建一个实例: CComPtr< IWSconnection > pIWSconnection; pIWSconnection.CoCreateInstance( __uuidof( wsutils::WSconnection ) );

我收到 2 个错误 a)wsutils 不是类或 namespace 名称 b)wsconnection 未声明的标识符

我还需要执行哪些其他步骤才能使 dll 在这里工作?

TIA

最佳答案

您将 no_namespace 放在 #import 行中 - 因此您的对象不在 wsutils 命名空间中,它在全局命名空间中。从 #import 行中删除 no_namespace,或从对象创建行中删除 wsutils::。

关于c++ - 在非托管 C++ 项目中使用 vb.net dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2008883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com