--- oup/current/Helper/LevelDB.pas 2007/03/28 01:41:10 132 +++ oup/current/Helper/LevelDB.pas 2007/03/28 17:53:54 134 @@ -301,7 +301,8 @@ begin FilesHeader[FileID].DataAddr := Stream_Body.Size + 8; DatFileStream := TMemoryStream.Create; Connection.LoadDatFile(FileID, TStream(DatFileStream)); - DatFileStream.Seek(4, soFromBeginning); + DatFileStream.Seek(0, soFromBeginning); + DatFileStream.Write(FileID, 4); DatFileStream.Write(LevelID, 4); QueryPerformanceCounter(tempticks2); @@ -355,17 +356,17 @@ begin rawsum := rawsum + (tempticks2 - tempticks1); end else - FilesHeader[i].DataAddr := 0; + FilesHeader[FileID].DataAddr := 0; if Length(fileinfo.Name) > 0 then begin - FilesHeader[i].NameAddr := Stream_Names.Size; + FilesHeader[FileID].NameAddr := Stream_Names.Size; temps := fileinfo.Extension + fileinfo.Name + Chr(0); Stream_Names.Write(temps[1], Length(temps)); end else - FilesHeader[i].NameAddr := 0; - FilesHeader[i].FileSize := fileinfo.Size; - FilesHeader[i].FileType := fileinfo.FileType; + FilesHeader[FileID].NameAddr := 0; + FilesHeader[FileID].FileSize := fileinfo.Size; + FilesHeader[FileID].FileType := fileinfo.FileType; if ((FileID mod 10) = 0) and (FileID >= 100) then lbl_estimation.Caption := 'Estimated time left: ' + TimeToStr( @@ -391,6 +392,7 @@ begin DatHeader.DataSize := Stream_Body.Size; DatHeader.NamesSize := Stream_Names.Size; DatHeader.DataAddr := Stream_Dat.Size; + Stream_Body.Seek(0, soFromBeginning); Stream_Dat.CopyFrom(Stream_Body, Stream_Body.Size); DatHeader.NamesAddr := Stream_Dat.Size; @@ -446,6 +448,8 @@ begin procedure TForm_LevelDB.CreateDatabase(Source, target: String); +var + DataBase: TABSDatabase; { var DataBase: TABSDatabase; @@ -507,6 +511,9 @@ begin absolutebegintime := Time; DataBase := TABSDatabase.Create(Self); +} + DataBase.MaxConnections := 1; +{ DataBase.DatabaseName := 'OLDB'; DataBase.DatabaseFileName := target; DataBase.CreateDatabase;