VB的dll里就几个函数   求vc调用其中某一个函数的例子   多谢了;

解决方案 »

  1.   

    可用自动化IDispatch接口来调用方法。
    1.创建组件
    2.查询组件得到IDispatch接口
    3.IDispatch::Invoke
    4.清除组件
    1.建立一个Dialog的工程
    2.在stdafx.h中#include "atlbase.h"
    #import "vbtest.dll" no_namespace //dll的真实路径3. 在app的InitInstance中
    AfxOleInit();
    4. 在Dialog上加个button, 在button的单击事件中
    _clsMSGPtr obj;
    obj.CreateInstance (__uuidof(clsMSG));
    CString str = "Test Your vbTest.dll";BSTR strMsg;
    strMsg = str.AllocSysString( );
    obj->msg( &strMsg );::SysFreeString ( strMsg );
      

  2.   

    多谢xwb2766()  
    照您的程序 我做了一个测试 
    一开始就报错:f:\mytest\aesdll\01\stdafx.h(25) : fatal error C1083: 
    Cannot open type library file: 'F:\mytest\aesdll\AES.dll': 加载类型库/DLL 时出错。
    我的路径确定是正确的  
    别人就提供我一个文件夹 里面有;AES.dll  AESUnit.bas AESUnit.pas 接口函数说明.chm
      

  3.   

    #import "F:\mytest\aesdll\AES.dll" no_namespace //dll的真实路径stdafx.h里  我是这么写的
     而且写在了stdafx.h的最后面(从网上学的)
      

  4.   

    另外 您的例子里的clsMSG  是甚么?  vb中写的类? 
    我这vb的dll里只有4个函数 别的什么都没有