| 1 |  | unit ConnectionManager; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 2 |  | interface | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 3 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 4 | < | uses TypeDefs, DataAccess, Access_OniArchive, Access_OUP_ADB; | 
 
 
 
 
 
 
 
 
 | 4 | > | uses TypeDefs, DataAccess, Access_OniArchive, Access_OUP_ADB, Access_OniSplitArchive; | 
 
 
 
 
 
 
 
 
 
 
 | 5 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 6 |  | type | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 7 |  | TConnections = array of TDataAccess; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 154 |  | backend := DB_ADB | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 155 |  | else if ext = '.DAT' then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 156 |  | backend := DB_ONI | 
 
 
 
 
 
 
 
 | 157 | + | else if ext = '.ONI' then | 
 
 
 
 
 
 
 
 | 158 | + | backend := DB_ONISPLIT | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 159 |  | else | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 160 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 161 |  | Msg := SM_UnknownExtension; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 169 |  | FConnections[i] := TAccess_OniArchive.Create(FileName, FLastID + 1, CreateMsg); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 170 |  | DB_ADB: | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 171 |  | FConnections[i] := TAccess_OUP_ADB.Create(FileName, FLastID + 1, CreateMsg); | 
 
 
 
 
 
 
 
 | 172 | + | DB_ONISPLIT: | 
 
 
 
 
 
 
 
 | 173 | + | FConnections[i] := TAccess_OniSplitArchive.Create(FileName, FLastID + 1, CreateMsg); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 174 |  | end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 175 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 176 |  | if CreateMsg = SM_OK then | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 182 |  | else | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 183 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 184 |  | FConnections[i].Close; | 
 
 
 
 
 
 
 
 
 | 181 | – | FConnections[i].Free; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 185 |  | FConnections[i] := nil; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 186 |  | SetLength(FConnections, Length(FConnections) - 1); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 187 |  | Msg := CreateMsg; |