com – 在C中调用Visual Basic DLL,第2部分
这个问题是对前一个问题(
here)的跟进.
我已经从第三方供应商(Sensor DLL.dll)获得了在Visual Basic中创建的DLL.这个DLL包含与传感器通信的函数,我需要从我正在编写的Visual C程序中调用这些函数.供应商不会提供头文件,我不知道Visual Basic. 我有关于每个功能的少量文档.例如,我被告知DLL中的一个函数(Get_Data)具有以下形式: Public Function Get_Data(ByVal Handle As String) As String 这将返回一个值介于-16777216和16777215之间的字符串.这就是全部. 在上一个问题中,用户Hans Passant给出了这个有用的答复:
按照这个建议,我确实在对象浏览器中看到了DLL中的函数列表,包括Get_Data(System :: String)但是我对使用COM对象很困惑,这超出了我的经验. 我试过简单地调用Get_Data(Handle);现在Handle是一个BSTR,我已经添加了对我的项目的引用,但它没有被识别.我也尝试先调用CoInitialize,但这没有用. 任何人都可以具体告诉我现在需要写什么来调用函数吗?谢谢! 解决方法
如果我正确理解您的情况,您至少在VB6 .dll中实现了一个COM对象.要使用此对象,必须在调用GetData方法之前创建COM对象的实例. CoInitialize仅初始化COM系统.您还必须使用CoCreateInstance之类的API.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |