tstream 使用了下面的代码,强制子类必须implement两个seek方法中至少一个
【程序编程相关:ShadowStar CodeFast 】 【推荐阅读:关于COM+的一些细节问题】首先说明tstream有两个seek方法 【扩展信息:ShadowStar CodeFast 】
classes.pas 单元4904行@delphi7
function seek(offset: longint; origin: word): longint; overload; virtual; //叫它seek1
function seek(const offset: int64; origin: tseekorigin): int64; overload; virtual;//叫它seek2看看如何实现的
function tstream.seek(offset: longint; origin: word): longint;
procedure raiseexception; begin raise estreamerror.createresfmt(@sseeknotimplemented, [classname]); end; type//声明了一个seek2样式的函数类型
tseek64 = function (const offset: int64; origin: tseekorigin): int64 of object; var//impl是子类的seek2方法,base是tstream的seek2方法
impl: tseek64;
base: tseek64; clasststream: tclass; begin ... 下一页