现在有两个程序A和B,以前的模式是:程序A接收网上传来的资料然后把它整理成文件保存在硬盘上,然后程序B读取刚刚的文件并进行压缩最后上传到FTP空间。现在我要改动的是两个程序的通讯问题,不要通过保存文件的方式,而是程序A收集到的资料放入内存里,程序B直接从内存中读取数据,最后打包上传!换句话说:程序A和B的通讯直接来自内存。请问我要如何实现,应该用到哪方面的知识。谢谢!

解决方案 »

  1.   

    http://www.vipcn.com/InfoView/Article_81012.html
      

  2.   

    我刚发了一个关于FileMapping的代码,不能正常工作,请各位回答问题的大虾去看一下。
      

  3.   

    两个程序如果都在一台机器上,你用内存映射文件或消息,都能完成,如果不在一台机器上,那你就用socket完成
      

  4.   

    原来在硬盘上的文件,我都是采用AssignFile rewrite Seek read write等函数来进行操作。现在用内存映射,CreateFileMapping,mapviewoffile之后得到的不是指针么,我如何象操作文件那样,任意的删除,添加,查找数据呢,请帮忙!
      

  5.   

    用Pbyte 接受内存映像的返回值,在把他转成Pchar.
    用inc移动指针,操作文件。
    Delphi5开发人员指南
    上有个转换字符大小写的例子
      

  6.   

    我现在遇到的问题是这样的:原来程序A在内存中读出数据后在硬盘上面保存文件,程序B从硬盘文件中读数据之后再进行其他操作!
    我想把他们之间的通讯方式改成“内存共享”,那我该如何做呢?
    1.程序A在内存读出数据保存为硬盘文件之后再做“映射文件”,程序B读取“映射文件”中的内容
    2.程序A在内存读出数据之后并不在硬盘生成文件,而是直接做“映射文件”,程序B读取“映射文件”中的内容
        请问,我应采取哪个方案,谢谢!
    现在的系统是已经生成了硬盘文件,直接采用方案1会不会比方案2简单一点(我是指改动代码要少一点)