在用模块方开发软件时,主程序和dll的form怎么方便的传递变量?请高手指点

解决方案 »

  1.   

    通常模块有两种方式,一是DLL,另一是EXE。两种方式都不能传输共享变量,只有通过其它方式传输数据:
    (1)EXE通过DOS执行参数; 
    (2)主程序写入TXT或INI文件,模块再读取数据;
    (3)通过共享指定内存,难度大。
      

  2.   

    好像一般dll是独立分配的空间。
      

  3.   

    你的问题是比较复杂的,涉及到的知识点比较多!不过你可以在网上慢慢收索,也可以拼臭出来:
    以下是一些要点:
    1、DLL是一种文件类型,有自己的进程地址空间。
       DLL的原理可以参考<windows核心楄程> 或者<delphi开发指南>都有论述
    2、EXE在与DLL进行数据传递时,如果只是传递值类型数据,一般不会有问题,如果传递的是
       对象类型,问题比较多,小心使用。
    3、在实践中,EXE与DLL传递数据时,EXE可以调用DLL的中的函数实现,
       也可以向DLL发送消息实现。有朋友提出通过映射内存共享数据,我没实际使用过。
    4、如果DLL要调用EXE的功能,可以通过回调函数实现。这些<delphi开发指南>都有讲解如何使用,
    网上也可以找到。
      

  4.   

    使用接口传递 或者TStinglist传递
      

  5.   

    1.写一些Get/Set方法可以操作变量
    2.共享内存
    3.接口.推荐3
      

  6.   

    回调函数,内存映射,RTTI  DLL 接口 开发指南。GET SET 方法 操作 。。你懂的,呵,