delphi中
把一个类做成1个dll, 程序如何调用dll中类的函数?又怎么导出?如何把dll中的全局变量传进应用程序中?就想用dll的全局变量的值。

解决方案 »

  1.   

    一般情况下类中的函数不可以直接导出, 做DLL其实就是做接口, 你要做大家识别的格式, 一般情况下, 我们按照一些约定进行输出接口函数, 对于类, 你可以这么做, 在单元的私有域中定义个这个类的全局变量, 并在initialization里写上实例化的a:= TA.create, 在finallizetion中写释放a.free, 然后写类函数的包装函数 也就是相当与对类进行一层包装.
      

  2.   

    http://www.winu.cn/space-14160-do-blog-id-5500.html
    看看就明白了。
      

  3.   

    《Delphi6开发人员指南》上有专门的例子介绍如何从DLL中导入类,比较麻烦,还不通用,作者都不建议那样用。
      

  4.   

    我觉得2楼的主意可行。
    基本上你都要封装一层。
    基本上就是有个初始化的接口,有个释放的接口,你可以自己定义,这么处理的dll还是很多的。
    至于你要调用类的全局变量。
    我看也是再封装一层。写个function:getParam1:integer;接口函数,返回类的全局变量值就可以了。
      

  5.   

    类建议用BPL,不建议用DLL,因为类信息在DLL间不能共享。