给段例题看看

解决方案 »

  1.   

    在Dll中可以封装类!!!答这一问给我1分吧,我测试一下新版的统计总分是不是有BUG:)
      

  2.   

    可以封装类,通常是通过包或接口实现,所以有以下规则
    1.只能访问对象中的虚拟方法
    2.对象实例只能在dll中创建
    3.应用程序和dll必须都有对象及其方法的定义,方法顺序一致
    4.dll中的对象不能继承去看《Delphi5开发人员指南》关于动态连接库的一章,那上面有详细的例题,由于太长就不打出来了
      

  3.   

    http://www.csdn.net/Develop/read_article.asp?id=11194
      

  4.   

    我不同意 happy243(HH) ( ) 的看法,
    实际上我正在做的一个项目中,所有的类都封装在dll中,
    对象实例可以在调用程序中创建,方法的顺序不一定一致(为什么要
    一致呢,这是类呀),dll中的类(不是对象)是可以继承的。
      

  5.   

    另外顺便问一个问题,怎么在新版本csdn中提问啊?不好意思。
      

  6.   

    具体的思路是:
    1、定义虚类公共单元,作为dll和调用程序的公共接口
    2、在编写dll时,从改公共单元继承,并override类中的方法
    3、在dll中公开一个方法,该方法返回该类
      

  7.   

    对于 wushenjian(Maverick) 的话
    我不太了解
    从道理上讲应该是跟 happy243(HH) 说的一样
    可以封装类,通常是通过包或接口实现,所以有以下规则1.只能访问对象中的虚拟方法
    2.对象实例只能在dll中创建
    3.应用程序和dll必须都有对象及其方法的定义,方法顺序一致
    4.dll中的对象不能继承多看《开发人员指南》那本书,里面的使用方法比较详细,
    为什么要这样定义是有它的原因的。
    我理解:如果类定义不需要顺序,就跟COM一样啦。
    为什么要出COM也就是因为虽然你在DLL中定义了类,
    但实际你在程序调用,并不是真正在用类,而是调用函数的方式。
    所以程序并不了解你在DLL中定义的类名,类的结构等等。
    它只是按照顺序来调用你定义的函数的。
    按照这个思路理解,就可以明白在DLL中定义类的限制的原因啦。
      

  8.   

    to wushenjian(Maverick)  
    要问问题要在delphi分类中才可以提问。能给一个简单的代码吗讲的太抽象了。
    1、定义虚类公共单元,作为dll和调用程序的公共接口   //这个不太明白
    2、在编写dll时,从改公共单元继承,并override类中的方法  //这个也不明白
    3、在dll中公开一个方法,该方法返回该类  //这个是不是导出一个涵数返回值
    就是哪个类。