UPD: SevenZip - move initialization to ExtensionInitialize procedure

This commit is contained in:
Alexander Koblov 2024-11-17 21:31:29 +03:00
commit 38abc6ffc4
3 changed files with 16 additions and 17 deletions

View file

@ -35,8 +35,7 @@ uses
procedure ShowConfigurationDialog(Parent: HWND);
function ShowPasswordQuery(var Encrypt: Boolean; var Password: WideString): Boolean;
{Extension API}
procedure ExtensionInitialize(StartupInfo: PExtensionStartupInfo); winapi;
procedure DialogInitialize(StartupInfo: PExtensionStartupInfo);
implementation
@ -831,7 +830,7 @@ begin
end;
end;
procedure ExtensionInitialize(StartupInfo: PExtensionStartupInfo); winapi;
procedure DialogInitialize(StartupInfo: PExtensionStartupInfo);
begin
gStartupInfo:= StartupInfo^;
MessageBoxFunction:= gStartupInfo.MessageBox;

View file

@ -28,7 +28,7 @@ unit SevenZipFunc;
interface
uses
WcxPlugin;
WcxPlugin, Extension;
{ Mandatory }
function OpenArchiveW(var ArchiveData : tOpenArchiveDataW) : TArcHandle; winapi;
@ -41,8 +41,9 @@ procedure SetProcessDataProcW(hArcData : TArcHandle; pProcessDataProc : TProcess
function PackFilesW(PackedFile: PWideChar; SubPath: PWideChar; SrcPath: PWideChar; AddList: PWideChar; Flags: Integer): Integer; winapi;
function DeleteFilesW(PackedFile, DeleteList: PWideChar): Integer; winapi;
function CanYouHandleThisFileW(FileName: PWideChar): Boolean; winapi;
procedure PackSetDefaultParams(dps: PPackDefaultParamStruct); winapi;
procedure ConfigurePacker(Parent: HWND; DllInstance: THandle); winapi;
{ Extension }
procedure ExtensionInitialize(StartupInfo: PExtensionStartupInfo); winapi;
implementation
@ -506,15 +507,20 @@ begin
Result:= FindDecompressFormats(Utf16ToUtf8(WideString(FileName))) <> nil;
end;
procedure PackSetDefaultParams(dps: PPackDefaultParamStruct); winapi;
procedure ConfigurePacker(Parent: WcxPlugin.HWND; DllInstance: THandle); winapi;
begin
ShowConfigurationDialog(Parent);
end;
procedure ExtensionInitialize(StartupInfo: PExtensionStartupInfo); winapi;
var
ModulePath: String;
begin
DialogInitialize(StartupInfo);
// Save configuration file name
ConfigFile:= ExtractFilePath(dps^.DefaultIniName);
ConfigFile:= CeSysToUtf8(ConfigFile) + DefaultIniName;
ConfigFile:= StartupInfo^.PluginConfDir + DefaultIniName;
// Get plugin path
ModulePath:= ExtractFilePath(mbGetModuleName);
ModulePath:= StartupInfo^.PluginDir;
// Use configuration from plugin path
if mbFileExists(ModulePath + DefaultIniName) then
begin
@ -560,11 +566,6 @@ begin
PasswordCache:= TPasswordCache.Create;
end;
procedure ConfigurePacker(Parent: WcxPlugin.HWND; DllInstance: THandle); winapi;
begin
ShowConfigurationDialog(Parent);
end;
{ TSevenZipUpdate }
constructor TSevenZipUpdate.Create;

View file

@ -49,8 +49,8 @@ end;
function GetPackerCaps : Integer; winapi;
begin
Result:= PK_CAPS_NEW or PK_CAPS_DELETE or PK_CAPS_MODIFY
or PK_CAPS_MULTIPLE or PK_CAPS_OPTIONS or PK_CAPS_ENCRYPT;
Result:= PK_CAPS_NEW or PK_CAPS_DELETE or PK_CAPS_MODIFY or PK_CAPS_MULTIPLE or
PK_CAPS_OPTIONS or PK_CAPS_BY_CONTENT or PK_CAPS_ENCRYPT;
end;
exports
@ -74,7 +74,6 @@ exports
GetPackerCaps,
ConfigurePacker,
GetBackgroundFlags,
PackSetDefaultParams,
CanYouHandleThisFileW,
{ Extension }
ExtensionInitialize