| 15 |  | FDatOpened:          Boolean; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 16 |  | FRawOpened:          Boolean; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 17 |  | FSepOpened:          Boolean; | 
 
 
 
 
 
 
 
 | 18 | + | procedure SetUnloadWhenUnused(doit: Boolean); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 19 |  | protected | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 20 |  | public | 
 
 
 
 
 
 
 
 
 
 
 | 21 | < | property UnloadWhenUnused: Boolean Read FUnloadWhenUnused Write FUnloadWhenUnused; | 
 
 
 
 
 
 
 
 
 | 21 | > | property UnloadWhenUnused: Boolean Read FUnloadWhenUnused Write SetUnloadWhenUnused; | 
 
 
 
 
 
 
 
 
 
 
 | 22 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 23 |  | constructor Create(DatFilename: String; ConnectionID: Integer; var Msg: TStatusMessages); override; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 24 |  | procedure Close; override; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 164 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 165 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 166 |  |  | 
 
 
 
 
 
 
 
 | 167 | + |  | 
 
 
 
 
 
 
 
 | 168 | + | procedure TAccess_OniArchive.SetUnloadWhenUnused(doit: Boolean); | 
 
 
 
 
 
 
 
 | 169 | + | begin | 
 
 
 
 
 
 
 
 | 170 | + | FUnloadWhenUnused := doit; | 
 
 
 
 
 
 
 
 | 171 | + | if FUnloadWhenUnused then | 
 
 
 
 
 
 
 
 | 172 | + | begin | 
 
 
 
 
 
 
 
 | 173 | + | if FDatOpened then | 
 
 
 
 
 
 
 
 | 174 | + | begin | 
 
 
 
 
 
 
 
 | 175 | + | FDatOpened := False; | 
 
 
 
 
 
 
 
 | 176 | + | Fdat_file.Free; | 
 
 
 
 
 
 
 
 | 177 | + | end; | 
 
 
 
 
 
 
 
 | 178 | + | if FRawOpened then | 
 
 
 
 
 
 
 
 | 179 | + | begin | 
 
 
 
 
 
 
 
 | 180 | + | FRawOpened := False; | 
 
 
 
 
 
 
 
 | 181 | + | Fraw_file.Free; | 
 
 
 
 
 
 
 
 | 182 | + | end; | 
 
 
 
 
 
 
 
 | 183 | + | if FSepOpened then | 
 
 
 
 
 
 
 
 | 184 | + | begin | 
 
 
 
 
 
 
 
 | 185 | + | FSepOpened := False; | 
 
 
 
 
 
 
 
 | 186 | + | Fsep_file.Free; | 
 
 
 
 
 
 
 
 | 187 | + | end; | 
 
 
 
 
 
 
 
 | 188 | + | end | 
 
 
 
 
 
 
 
 | 189 | + | else | 
 
 
 
 
 
 
 
 | 190 | + | begin | 
 
 
 
 
 
 
 
 | 191 | + | if not FDatOpened then | 
 
 
 
 
 
 
 
 | 192 | + | begin | 
 
 
 
 
 
 
 
 | 193 | + | Fdat_file := TFileStream.Create(FFileName, fmOpenReadWrite); | 
 
 
 
 
 
 
 
 | 194 | + | FDatOpened := True; | 
 
 
 
 
 
 
 
 | 195 | + | end; | 
 
 
 
 
 
 
 
 | 196 | + | if not FRawOpened then | 
 
 
 
 
 
 
 
 | 197 | + | begin | 
 
 
 
 
 
 
 
 | 198 | + | Fraw_file := TFileStream.Create(AnsiReplaceStr(FFileName, '.dat', '.raw'), | 
 
 
 
 
 
 
 
 | 199 | + | fmOpenReadWrite); | 
 
 
 
 
 
 
 
 | 200 | + | FRawOpened := True; | 
 
 
 
 
 
 
 
 | 201 | + | end; | 
 
 
 
 
 
 
 
 | 202 | + | if (not FSepOpened) and (FDataOS <> DOS_WIN) then | 
 
 
 
 
 
 
 
 | 203 | + | begin | 
 
 
 
 
 
 
 
 | 204 | + | Fsep_file := TFileStream.Create(AnsiReplaceStr(FFileName, '.dat', '.sep'), | 
 
 
 
 
 
 
 
 | 205 | + | fmOpenReadWrite); | 
 
 
 
 
 
 
 
 | 206 | + | FSepOpened := True; | 
 
 
 
 
 
 
 
 | 207 | + | end; | 
 
 
 
 
 
 
 
 | 208 | + | end; | 
 
 
 
 
 
 
 
 | 209 | + | end; | 
 
 
 
 
 
 
 
 | 210 | + |  | 
 
 
 
 
 
 
 
 | 211 | + |  | 
 
 
 
 
 
 
 
 | 212 | + |  | 
 
 
 
 
 
 
 
 | 213 | + |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 214 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 215 |  | procedure TAccess_OniArchive.Close; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 216 |  | begin |