我用VC编写了个函数,我怎么才能调用呀!!!
 (这个问题我想了好久,现在我可以调用了,可是我一传递参数就出了错误)!!谁能帮助帮助我呀!!!谢谢了

解决方案 »

  1.   

    本论坛里有一个高人的《我的dll学习笔记》    可以找一下。
      

  2.   

    如果是给vb调用的话,类里的成员函数是不能调用的。
    还有,最好输出一个.def文件。可以把你要输出的函数贴出来,大家看看参数类型应该能说的更清楚。
      

  3.   

    如果是学习写标准的DLL,可以用VC的MFC AppWizard(dll)向导生成一个工程,假设名为DllTest。
    1. 在DllTest.cpp中为DLL添加导出函数,语法为:
    extern "C" BOOL PASCAL EXPORT DoHelp()
    {
       // AFX_MANAGE_STATE(AfxGetStaticModuleState());
        // normal function body here
        ::MessageBox(NULL,"Hello World!","MSG",MB_OK);
      //  return TRUE;
    }
    使用extern "C"语法可以让C++程序模块和其他语言共享数据和方法。2. 在DllTest.def中指定该函数为导出函数,也就是标准DLL为其他程序开放的接口函数。语法为:
    EXPORTS
        DoHelp
        ; Explicit exports can go here
    3. 编译。这样在其他程序中就可以调用这个DLL了。
    在VB中的调用:
    首先声明:
    Private Declare Sub DoHelp Lib "h:\DllTest.dll" ()
    因为测试DLL中的DoHelp函数没有返回值,所以在VB中,声明为sub。然后调用:
    Private Sub Command1_Click()
       DoHelp
    End Sub