|
@@ -134,7 +134,7 @@ type
|
|
do_indirect_crc : boolean;
|
|
do_indirect_crc : boolean;
|
|
crc_only : boolean; { used to calculate interface_crc before implementation }
|
|
crc_only : boolean; { used to calculate interface_crc before implementation }
|
|
constructor Create(const fn:string);
|
|
constructor Create(const fn:string);
|
|
- procedure closefile;override;
|
|
|
|
|
|
+ destructor destroy;override;
|
|
function CheckPPUId:boolean;
|
|
function CheckPPUId:boolean;
|
|
{read}
|
|
{read}
|
|
{ nothing special currently }
|
|
{ nothing special currently }
|
|
@@ -173,24 +173,27 @@ constructor tppufile.Create(const fn:string);
|
|
begin
|
|
begin
|
|
inherited Create(fn);
|
|
inherited Create(fn);
|
|
crc_only:=false;
|
|
crc_only:=false;
|
|
|
|
+{$ifdef Test_Double_checksum}
|
|
|
|
+ if not assigned(crc_test) then
|
|
|
|
+ new(crc_test);
|
|
|
|
+ if not assigned(crc_test2) then
|
|
|
|
+ new(crc_test2);
|
|
|
|
+{$endif Test_Double_checksum}
|
|
end;
|
|
end;
|
|
|
|
|
|
-
|
|
|
|
-procedure tppufile.closefile;
|
|
|
|
|
|
+destructor tppufile.destroy;
|
|
begin
|
|
begin
|
|
{$ifdef Test_Double_checksum}
|
|
{$ifdef Test_Double_checksum}
|
|
- if mode=2 then
|
|
|
|
- begin
|
|
|
|
- if assigned(crc_test) then
|
|
|
|
- dispose(crc_test);
|
|
|
|
- if assigned(crc_test2) then
|
|
|
|
- dispose(crc_test2);
|
|
|
|
- end;
|
|
|
|
|
|
+ if assigned(crc_test) then
|
|
|
|
+ dispose(crc_test);
|
|
|
|
+ crc_test:=nil;
|
|
|
|
+ if assigned(crc_test2) then
|
|
|
|
+ dispose(crc_test2);
|
|
|
|
+ crc_test2:=nil;
|
|
{$endif Test_Double_checksum}
|
|
{$endif Test_Double_checksum}
|
|
- inherited closefile;
|
|
|
|
|
|
+ inherited destroy;
|
|
end;
|
|
end;
|
|
|
|
|
|
-
|
|
|
|
function tppufile.CheckPPUId:boolean;
|
|
function tppufile.CheckPPUId:boolean;
|
|
begin
|
|
begin
|
|
CheckPPUId:=((Header.common.Id[1]='P') and
|
|
CheckPPUId:=((Header.common.Id[1]='P') and
|