回 帖 发 新 帖 刷新版面

主题:TMemoryStream 读出错

var
   msString:TMemoryStream;
   charTemp:ayyay[0..999] of char;
   
通过上面的定义,我执行代码:
  msString.ReadBuffer(charTemp,20) 或执行
  msString.ReadBuffer(charTemp[0],20)  就报错,错误内容是:Stream read error


另外我定义
var
  OleNormalDataList:OleVariant;
  pTemp:pchar;

执行:
  pTemp=VarArrayLock(OleNormalDataList); 时返回有时是空值,有时又是好的

不知道是什么原因,请各位不吝赐教,谢谢

回复列表 (共5个回复)

沙发

我也是刚学 ,不知道回答的对不对。
我认为是你的msString还没分配内存、
应该先给它分配内存、

板凳

TMemoryStream 操作要小心,
m_string TMemoryStream;
m_string := TMemoryStream.Create();
m_string.Clear;
m_string.ReadBuffer();
...
用完后还要释放
m_string.Free;
m_string :=nil;

3 楼

判断MemoryStream长度Size,是否小于你要读出的数据的字节数.当然,还要注意你的MemoryStream当前的Position的位置。

4 楼

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

5 楼

寻找中国的最优秀的网商领袖精英 
淘宝商盟元亨 qq: 908889846 
当今世界正经历着全球经济一体化的大潮,中国本土企业也因此面临着前所未有的机遇与挑战。
在这场洗礼中,哪些互联网平台有能力成为世界级的电子商务平台?网商精英要怎样做,才能最终成长为世界级网商精英领袖?
淘宝商盟平台震撼登场,携手淘宝30万商家联盟购物商城。
平台刚刚启动,互联网的网商精英请咨询qq: 908889846 
占领市场第一先机,合力打造网商系统!
淘宝商盟官网   www.taobaosm.com
 http://blog.sina.com.cn/tbsm8
淘宝商盟奖励制度

我来回复

您尚未登录,请登录后再回复。点此登录或注册