Index: /oup/current/Code/OniDataClass.pas
===================================================================
--- /oup/current/Code/OniDataClass.pas	(revision 55)
+++ /oup/current/Code/OniDataClass.pas	(revision 56)
@@ -412,19 +412,22 @@
   end;
   SetLength(Result, list.Count);
-  fields := TStringList.Create;
-  if sort in [stIDAsc, stNameAsc, stExtAsc] then
-    for i := 0 to list.Count - 1 do
-    begin
-      getfields;
-      Result[i] := id + '-' + name + '.' + extension;
-    end
-  else
-    for i := list.Count - 1 downto 0 do
-    begin
-      getfields;
-      Result[list.Count - i - 1] := id + '-' + name + '.' + extension;
-    end;
+  if Length(Result) > 0 then
+  begin
+    fields := TStringList.Create;
+    if sort in [stIDAsc, stNameAsc, stExtAsc] then
+      for i := 0 to list.Count - 1 do
+      begin
+        getfields;
+        Result[i] := id + '-' + name + '.' + extension;
+      end
+    else
+      for i := list.Count - 1 downto 0 do
+      begin
+        getfields;
+        Result[list.Count - i - 1] := id + '-' + name + '.' + extension;
+      end;
+    fields.Free;
+  end;
   list.Free;
-  fields.Free;
 end;
 
Index: /oup/current/Helper_LevelDB.pas
===================================================================
--- /oup/current/Helper_LevelDB.pas	(revision 55)
+++ /oup/current/Helper_LevelDB.pas	(revision 56)
@@ -78,4 +78,5 @@
   OniImage: TOniImage;
   levelid:  LongWord;
+  timeformat: TFormatSettings;
 const
   steps: Byte = 3;
@@ -99,4 +100,7 @@
   // FILE EXISTS CHECK FÜR DAT/RAW/SEP!!!
   //
+
+  timeformat.LongTimeFormat := 'hh:nn:ss';
+  timeformat.TimeSeparator := ':';
 
   if not CreateDataConnection(Source, ODB_ADB) then
@@ -295,5 +299,5 @@
   lbl_progress.Caption   := 'Files done: ' + IntToStr(progress.Max) + '/' +
     IntToStr(progress.Max);
-  lbl_estimation.Caption := 'FINISHED (duration: ' + TimeToStr(Time - absolutebegintime) + ')';
+  lbl_estimation.Caption := 'FINISHED (duration: ' + TimeToStr(Time - absolutebegintime, timeformat) + ')';
 
   DoStep('FIN');
@@ -339,4 +343,5 @@
   extlist:  TExtensionsMap;
   fileinfo: TFileInfo;
+  timeformat: TFormatSettings;
 const
   steps: Byte = 4;
@@ -542,5 +547,8 @@
   lbl_progress.Caption   := 'Files done: ' + IntToStr(progress.Max) + '/' +
     IntToStr(progress.Max);
-  lbl_estimation.Caption := 'FINISHED (duration: ' + TimeToStr(Time - absolutebegintime) + ')';
+
+  timeformat.LongTimeFormat := 'hh:nn:ss';
+  timeformat.TimeSeparator := ':';
+  lbl_estimation.Caption := 'FINISHED (duration: ' + TimeToStr(Time - absolutebegintime, timeformat) + ')';
 
   DoStep('FIN');
Index: /oup/current/OniUnPacker.bdsproj
===================================================================
--- /oup/current/OniUnPacker.bdsproj	(revision 55)
+++ /oup/current/OniUnPacker.bdsproj	(revision 56)
@@ -176,6 +176,5 @@
 			<Language Name="ProjectLang">$00000000</Language>
 			<Language Name="RootDir"></Language>
-		</Language>  
-    <Excluded_Packages>
+		</Language>  <Excluded_Packages>
       <Excluded_Packages Name="d:\programme\borland\bds\3.0\Bin\dbwebxprt.bpl">Borland Web Wizard Package</Excluded_Packages>
     </Excluded_Packages>
Index: /oup/current/OniUnPacker.dpr
===================================================================
--- /oup/current/OniUnPacker.dpr	(revision 55)
+++ /oup/current/OniUnPacker.dpr	(revision 56)
@@ -22,4 +22,5 @@
 
 {$R *.res}
+{$R ExtraIcos.res}
 
 begin
Index: /oup/current/Settings.pas
===================================================================
--- /oup/current/Settings.pas	(revision 55)
+++ /oup/current/Settings.pas	(revision 56)
@@ -22,5 +22,5 @@
     procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
     procedure FormShow(Sender: TObject);
-    function RegisterExtension(ext: String; reg: Boolean): Integer;
+    function RegisterExtension(ext: String; iconindex: Integer; reg: Boolean): Integer;
   private
   public
@@ -62,5 +62,5 @@
 
 
-function TForm_Settings.RegisterExtension(ext: String; reg: Boolean): Integer;
+function TForm_Settings.RegisterExtension(ext: String; iconindex: Integer; reg: Boolean): Integer;
 var
   ftr:     TFileTypeRegistration;
@@ -75,5 +75,5 @@
       if not ftr.UnregisterExtension(ext) then
         ShowMessage('Could not unregister ' + ext + '-files');
-    if ftr.RegisterType(ext, 'ONI' + ext, 'ONI ' + ext + '-file', Application.EXEname + ',1') then
+    if ftr.RegisterType(ext, 'ONI' + ext, 'ONI ' + ext + '-file', Application.EXEname, iconindex) then
     begin
       ftr.AddHandler('open', '"' + Application.EXEname + '" ' + MidStr(
@@ -120,9 +120,9 @@
               temps+'". Reregister?'), PChar('Reregister?'),
               MB_YESNO + MB_ICONQUESTION) = ID_YES then
-          RegisterExtension('.dat', True);
+          RegisterExtension('.dat', 2, True);
     end else
-      RegisterExtension('.dat', True);
+      RegisterExtension('.dat', 2, True);
   end else
-    RegisterExtension('.dat', False);
+    RegisterExtension('.dat', 2, False);
 
   if check_reg_oldb.Checked then
@@ -134,9 +134,9 @@
               temps+'". Reregister?'), PChar('Reregister?'),
               MB_YESNO + MB_ICONQUESTION) = ID_YES then
-          RegisterExtension('.oldb', True);
+          RegisterExtension('.oldb', 1, True);
     end else
-      RegisterExtension('.oldb', True);
+      RegisterExtension('.oldb', 1, True);
   end else
-    RegisterExtension('.oldb', False);
+    RegisterExtension('.oldb', 1, False);
 
   if check_reg_opf.Checked then
@@ -148,9 +148,9 @@
               temps+'". Reregister?'), PChar('Reregister?'),
               MB_YESNO + MB_ICONQUESTION) = ID_YES then
-          RegisterExtension('.opf', True);
+          RegisterExtension('.opf', 0, True);
     end else
-      RegisterExtension('.opf', True);
+      RegisterExtension('.opf', 0, True);
   end else
-    RegisterExtension('.opf', False);
+    RegisterExtension('.opf', 0, False);
 
   Self.Close;
