C
ccw128
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在想从TFileStream中派生一个临时文件类TTempFileStream,该类在创建时先生成一
个临时文件,然后按照TFileStream的方式被程序读写,在释放时把这个临时文件关闭并删除。
代码如下:
TTempFileStream = class(TFileStream)
private
FTempFileName: string;
public
constructor Create(const TempPath: string);
destructor Destroy; override;
end;
constructor TTempFileStream.Create(const TempPath: string);
var
TempFileName: array[0..MAX_PATH] of Char;
begin
GetTempFileName(PChar(TempPath), PChar('CCW'), 0, TempFileName);
FTempFileName := TempFileName;
inherited Create(FTempFileName, fmOpenRead or fmShareDenyNone);
end;
destructor TTempFileStream.Destroy;
begin
inherited Destroy;
DeleteFile(FTempFileName);
end;
现在我发现其它Delphi继承类中inherited Create总是放在派生类的Create函数的第一句,
而inherited Destroy总是放在派生类的Destroy函数的最后一句。我的代码与此顺序不同,
但是又必须像现在这样才能达到我的目的。请问我这样写会不会有问题,抑或是否有更好
的写法,谢谢。
个临时文件,然后按照TFileStream的方式被程序读写,在释放时把这个临时文件关闭并删除。
代码如下:
TTempFileStream = class(TFileStream)
private
FTempFileName: string;
public
constructor Create(const TempPath: string);
destructor Destroy; override;
end;
constructor TTempFileStream.Create(const TempPath: string);
var
TempFileName: array[0..MAX_PATH] of Char;
begin
GetTempFileName(PChar(TempPath), PChar('CCW'), 0, TempFileName);
FTempFileName := TempFileName;
inherited Create(FTempFileName, fmOpenRead or fmShareDenyNone);
end;
destructor TTempFileStream.Destroy;
begin
inherited Destroy;
DeleteFile(FTempFileName);
end;
现在我发现其它Delphi继承类中inherited Create总是放在派生类的Create函数的第一句,
而inherited Destroy总是放在派生类的Destroy函数的最后一句。我的代码与此顺序不同,
但是又必须像现在这样才能达到我的目的。请问我这样写会不会有问题,抑或是否有更好
的写法,谢谢。