讨论这个问题的起因是:很多低版本的 Delphi 组件只有 DCU 文件而没有 Pas ,造成了高版本的 Delphi 不能使用一些非常有价值的无源代码的组件,所以,如果能够实现这个问题所描述的那样,就没有此限制了。先感谢你提供的思路,哪怕是一小段的代码。

解决方案 »

  1.   

    在app之间共享资源, 最好的做法就是接口或者包, 也是最常用了。
    其中值得推荐的,就是有某个app提供一个接口单元,然后让别的app(exe或者dll)来调用这些接口。 当然接口单元中只有一些变量也可以或者方法。
      

  2.   

    duhailee(长饮远醉)
    -----------------
    問題不是app與DLL之間的調用,是如何將---控件的屬性---封裝進去 DLL 裡面,可以讓 app 使用這個控件的功能。
      

  3.   

    不难啊,把你的类直接在DLL中实现,那么,别的App通过调用你的DLL创建这个类的对象之后,就可以使用类中的这些属性了。
    曾经看过一个讨论hook的书,里面是给出了一个例子,在Dll中定义了一个窗口,用来显示当前鼠标的位置。
      

  4.   

    如果只是类,不是可视控件,我认为用接口是最好的方法.当然可视类也可以用接口,只是可能实现起来可能会麻烦一点用法就是把接口公开出来, 用 DLL 返回这个接口, 主程序不知道类,只知道接口.如果再专业一点,可以把这个 DLL 做成 COM 的.不过,这样的话,在使用前必须先注册这个 COM DLL, 但这样有个好处,就是在给别人时可以不用把 接口说明一起给别人, 别人只需要导入这个 COM 就可以了. Delphi 会自动生成 接口的 Unit具体情况,具体分析吧.
      

  5.   

    将类封装进DLL中,然后将类的类按函数公布出来就可以了。具体网上搜索都有。刘艺有一本《面对象的编程思想》上也有相关的说明。
    相关电子文档可发邮件给我[email protected]