现在我碰到个问题,调用一个dll接口,不断的返回PByte数据流,而我要把这个调用后的流保存成一个连续的内存地址,然后通过另一个dll接口送进去。   现在我在合成这些流的时候,非常迷茫,兄弟我对内存的操作非常欠缺经验,请各位不吝赐教。或者贴一下内存合成的代码,让我参考。感谢啦!

解决方案 »

  1.   

    buff : array[0..max] of byte
    n := 0;
    move(pbyte^,buff[n],sizeof(byte));
    inc(n);
      

  2.   

    就是先定义个全局变量,大数组或指针,这样就有了连续的内存
    然后将你取出的Pbyte数据连续的复制过去就行了
    move(pbyte^,buff[n],sizeof(byte));  //这就是将pbyte内容拷贝到buff[n]中,n为起始点
    也可以用copymemory
      

  3.   

    move自己研究下吧,上面的move有点问题的
      

  4.   

    你这个最好用CreateMapfile来实现内存共享,操作简单效率上也好