li343 发表于 2009-9-28 14:22

请版主帮我看看程序如何修改


一个编码器的数据采集程序,用VC调用VB编写的DLL出错。错误提示如下:

Test.cpp
C:\Documents and Settings\Owner.LENOVO-52CEDA01\桌面\Test.cpp(23) : error C2664: 'readGAM60Value' : cannot convert parameter 1 from 'char ' to 'unsigned short ** '
      Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.

VB编写的DLL见附件。

程序代码:
#include <stdio.h>
// This is the path for your DLL.
// Make sure that you specify the exact path.

#import "d:\project1.dll"no_namespace

void main()
{
       BSTR bstrDesc;

       try
       {
            CoInitialize(NULL);
            // Declare the Interface Pointer for your Visual Basic object. here,
            // _Class1Ptr is the Smart pointer wrapper class representing the
            // default interface of the Visual Basic object.

            _Class1Ptr ptr;
            // Create an instance of your Visual Basic object, here
            // __uuidof(Class1) gets the CLSID of your Visual Basic object.

            ptr.CreateInstance(__uuidof(Class1));
            double jiaodu =ptr->readGAM60Value("2330300D");
      }

      catch(_com_error &e)
      {            bstrDesc = e.Description();         }
      
      CoUninitialize();
}



[ 本帖最后由 li343 于 2009-9-28 14:25 编辑 ]
页: [1]
查看完整版本: 请版主帮我看看程序如何修改