具体问题大概是这样的。
stream1:stream;
stream1.loadfromfile(filename);
a:pbyte;
getmem(a,stream1.size);
stream1.read(a,stream1.size);程序执行到read这部时,必然出错退出,这是为何?

解决方案 »

  1.   

    第一句是
    stream1:Tmemorystream;
      

  2.   

    getmem(a, stream1.size); 
    stream1.Seek(0, soFromBeginning);
    stream1.read(a, stream1.size); 
      

  3.   

    写错了,中间我有一句
    stream1.position:=0;
    在read之前
      

  4.   

    应该写成: stream1.read(a^, stream1.size); 
      

  5.   

    是不是要先 tmemorystream.create 啊
      

  6.   

    解决了,果然是这样但是read函数的第一个参数不是个指针么?怎么还要加^???