xumenger 2015-08-18 05:35 采纳率: 72.2%
浏览 2231
已采纳

Delphi中,怎么获取DLL中定义的变量

可以使用动态加载或静态加载的方式使用DLL中的方法,但是怎么能够获取DLL中定义的变量来使用它呢?

  • 写回答

5条回答 默认 最新

  • lyhoo163 2015-08-19 09:57
    关注

    要明确2个概念:
    1、Dll是EXE的一个变种形态。它是可执行的。
    2、Dll虽然由EXE调用,但执行读入内存后,Dll与EXE分别是独立的内存区域,相互不联系的。二者的数据(变量等)不能传递的。

    为了能让Dll是EXE通联,往往可以通过以下几种方式建立联系。
    1、发消息,它是单相思,消息发出后,对方知道否,接受了吗,不得而知。
    2、通过磁盘文件传递,数据分别写入一个磁盘文件中,数据结构自己可以定。但它有局限性,不能及时获取。
    3、共用内存,即在将EXE文件的变量,在内存中的地址,传递给Dll,实现共享此内存地址(变量),这是最好的方式,如同全局变量使用。 

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集