TStream类型如何清空 ( 积分: 50 )

  • 主题发起人 主题发起人 创意人生
  • 开始时间 开始时间

创意人生

Unregistered / Unconfirmed
GUEST, unregistred user!
有些函数要求输入的数据类型是TStream,所以我就定义了一个对应的变量:
ST : TStream;
然后使用的时候:
ST := TMemoryStream.Create;
假如此时我想将ST清空,如何处理?TStream类型没有Clear方法.
 
St.Destory;
下次用的时候在Create一下
 
假如在函数体里面如何操作呢?,因为此时函数体只知道变量是TStream类型,不知道该用哪种流进行创建.
 
ST.Size := 0;
大小置0就是了。
 
ST.Size := 0;
大小置0就是了。
====================================
我刚查了一下,TStream里面的关于Size的SetSize没有做任何事情.
 
TStream 是个抽象基类。
由于你创建的是TMemoryStream类的实例,所以在调用ST.Size := 0 时实际上执行的是TMemoryStream的SetSize。
 
好的,谢谢。只是为什么不在TStream建一个Clear虚方法那,奇怪。
 
后退
顶部