原来用MFC写了个控制机器设备移动的软件。现在说是要2次开发,要把原来的东西修改成DLL文件,客户拿去用。
   
以前没做过关于DLL的东西。想知道在具体写的时候,有什么好的建议。是把原程序的所有变量和类都独立导出,还是怎么搞。
心里没底。。没多少分了。还往谅解。

解决方案 »

  1.   

    只导出函数 ,不要导出变量和类并且函数参数只能使用C中有的类型,不能使用C中没有的类型.
    函数调用方式加上__stdcall
      

  2.   

    把你的功能抽象成一个个函数接口模式,比如初始化,移动设备,关闭等功能在这些功能一个个作为导出函数,给第三方调用,在函数内部使用各种类,以及你的逻辑处理流程等..最后提供h,dll文件等,h文件中做一下接口的说明等,方便别人调用
      

  3.   

    是不是只考虑原程序里面的函数实现部分,
    其他的一概不管。把原来因为参数相互联系起来的函数结构,全部分离。
    有价值的部分函数拿来制作DLL?
      

  4.   

     补充下,他是用VB再开发,做成MFC规则的DLL,是不是可以
      

  5.   

    VB开发,你最好开发成Windows 标准DLL, __stdcall
    MFC 的dll,一般都需要MFC的支持,
      

  6.   

    接口设计是关键的~
    Dll相关书籍很多~
      

  7.   

    可以用类来实现,不过要输出函数要声明成不带类的函数。
    例如:BOOL  Initial()
    {
    return theApp.Initial();
    }
      

  8.   

    输出:
    extern "C"
    {
    BOOL __declspec(dllexport) __cdecl Initial();
    }
      

  9.   

    具体实现你想怎么弄就怎么弄。MFC规则DLL就导出几个封装了相应接口的关键函数就可以了。
    如果要考虑以后的兼容啊,升级什么的就最好弄成接口形式的了,也不是很清楚,反正现在我是没这方面的要求。:)
      

  10.   

    或者更好的方法,改用ATL写组件的形势!