一个dll的问题:我做了个动态链接库,这个dll是扩展的,而且还是导出mfc的一个类,例如:class AFX_EXT_CLASS CFontComboBox : public CComboBox;我不知道这个CFontComboBox在应用程序中怎样用显式或隐式导出。

解决方案 »

  1.   

    对,包含头文件,编译的时候要指定.lib文件路径.比如动态库中:
    class AFX_EXT_CLASS CCJMDIFrameWnd : public CMDIFrameWnd
    {}
    那你在程序中:
    class CMainFrame : public CCJMDIFrameWnd
    {}
    上面是静态调用.
      

  2.   

    显式的话我没有调用过CLASS,不过你可以查考
    //--定义“实例”
      HINSTANCE dd;
    //--声明dll内的函数
      int __stdcall (*bbb)(int);
    //--装载dll
      dd = LoadLibrary("dll.dll");
    //--取得dll中的函数地址
      (FARPROC)bbb = GetProcAddress(dd , "test2");
    //--调用dll中的函数
      Caption = IntToStr(ddd());
    //--释放“实例”
      FreeLibrary(dd);
      

  3.   

    导出部分隐式和显式。
    要隐式调用的话,需要用到相应的.lib和.h文件,而显式调用不用。