Explorar o código

Be like Extract7ZipArchive.

Martijn Laan hai 3 meses
pai
achega
c0c4f24d5e
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  1. 5 0
      Projects/Src/Compression.SevenZipDllDecoder.pas

+ 5 - 0
Projects/Src/Compression.SevenZipDllDecoder.pas

@@ -402,6 +402,7 @@ end;
 
 
 var
 var
   SevenZipLibrary: THandle;
   SevenZipLibrary: THandle;
+  SevenZipLibraryName: String;
   CreateSevenZipObject: function(const clsid, iid: TGUID; var outObject): HRESULT; stdcall;
   CreateSevenZipObject: function(const clsid, iid: TGUID; var outObject): HRESULT; stdcall;
 
 
 procedure FreeSevenZipLibrary;
 procedure FreeSevenZipLibrary;
@@ -409,6 +410,7 @@ begin
   if SevenZipLibrary <> 0 then begin
   if SevenZipLibrary <> 0 then begin
     FreeLibrary(SevenZipLibrary);
     FreeLibrary(SevenZipLibrary);
     SevenZipLibrary := 0;
     SevenZipLibrary := 0;
+    SevenZipLibraryName := '';
     CreateSevenZipObject := nil;
     CreateSevenZipObject := nil;
   end;
   end;
 end;
 end;
@@ -425,6 +427,7 @@ begin
       FreeSevenZipLibrary;
       FreeSevenZipLibrary;
       Win32ErrorMsgEx('GetProcAddress', LastError);
       Win32ErrorMsgEx('GetProcAddress', LastError);
     end;
     end;
+    SevenZipLibraryName := PathExtractName(DllFilename);
   end;
   end;
 end;
 end;
 
 
@@ -498,6 +501,8 @@ begin
 
 
   LogFmt('Extracting archive %s to %s. Full paths? %s', [ArchiveFileName, DestDir, SYesNo[FullPaths]]);
   LogFmt('Extracting archive %s to %s. Full paths? %s', [ArchiveFileName, DestDir, SYesNo[FullPaths]]);
 
 
+  LogFmt('%s Decoder : Igor Pavlov', [SevenZipLibraryName]); { Just like 7zMain.c }
+
   { CreateObject }
   { CreateObject }
   var InArchive: IInArchive;
   var InArchive: IInArchive;
   if CreateSevenZipObject(clsid, IInArchive, InArchive) <> S_OK then begin
   if CreateSevenZipObject(clsid, IInArchive, InArchive) <> S_OK then begin