H huamulan Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-11 #1 我用delphi做了一个modbus读取串口的程序。想把读上来的数据和WINCC共享,用wincc来操作delphi程序进行串口读取,然后wincc再读dephi程序返回上来的二百个word.请问有没有好的办法来实现呢?
我用delphi做了一个modbus读取串口的程序。想把读上来的数据和WINCC共享,用wincc来操作delphi程序进行串口读取,然后wincc再读dephi程序返回上来的二百个word.请问有没有好的办法来实现呢?
地 地质灾害 Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-11 #2 两个程序作数据交换不必用DLL。用:内存映射文件WM_COPYDATA文件管道socket
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-11 #4 每个应用程序在加载DLL的时候,都各自开辟了一块内存区域,确保数据互不影响。虽然你在DLL中定义了两块内存区域,但第一个程序向这快内存区域写的数据是第二个程序无法读取到的。刚才做了一个试验,我将DLL中的某个变量,通过第一个程序调用动态库函数设置为20,第一个程序通过DLL函数取得的这个变量值也是20,但是第二个程序通过DLL函数取得的变量值是初始化的值0。除非你每次写数据,不是写到内存中,而是写到一个外部文件中。
每个应用程序在加载DLL的时候,都各自开辟了一块内存区域,确保数据互不影响。虽然你在DLL中定义了两块内存区域,但第一个程序向这快内存区域写的数据是第二个程序无法读取到的。刚才做了一个试验,我将DLL中的某个变量,通过第一个程序调用动态库函数设置为20,第一个程序通过DLL函数取得的这个变量值也是20,但是第二个程序通过DLL函数取得的变量值是初始化的值0。除非你每次写数据,不是写到内存中,而是写到一个外部文件中。