// function BuildCmdLine( Cmd,ArchiveFileName:string;Options:TArchiverOptions;Path:String;FileList:TStringList ):String; override;
function FindOpen ( Handle:HWND;ArchiveFileName:string;dwMode:DWORD ):THARC; override;
function FindFirst( hArc:THArc;var IndivisualInfo:TIndivisualInfo;FileMask:string ):integer; override;
function FindNext ( hArc:THArc;var IndivisualInfo:TIndivisualInfo ):integer; override;
function FindClose( hArc:THArc ):integer; override;
public
function Arj( Handle:HWND;CmdLine:string;var Output:string ):integer;
function UnpackFiles ( Handle:HWND;ArchiveFileName:string;Options:TArchiverOptions;DstPath:String;FileList:array of const;UseResFile:boolean;var Output:string ):Integer; override;
// function PackFiles ( Handle:HWND;ArchiveFileName:string;Options:TArchiverOptions;BaseDir:String;FileList:array of const;UseResFile:boolean;var Output:string ):Integer; override;
// function RemoveItem ( Handle:HWND;ArchiveFileName:string;Options:TArchiverOptions;BaseDir:String;FileList:array of const;UseResFile:boolean;var Output:string ):Integer; override;
// function MakeSfxFile ( Handle:HWND;ArchiveFileName:string;Options:TArchiverOptions;DstPath:String ;var Output:string ):Integer; override;
// function UnpackToMem ( Handle:HWND;ArchiveFileName:string;Options:TArchiverOptions;FileName:string;lpvBuffer:LPVOID;dwSize:DWORD;lpdwWriteSize:LPDWORD ):Integer; override;
function CheckArchive ( ArchiveFileName:string;CheckMode:integer;CheckOptions:integer ):DWORD; override;
function SetOwnerWindowEx ( Handle:HWND;lpArcProc:LPARCHIVERPROC ):boolean; override;
function KillOwnerWindowEx( Handle:HWND ):boolean; override;
end;
function IsArjArchive( ArchiveFileName:string ):boolean;
// function Arj( _hwnd:HWND;_szCmdLine:PAnsiChar;_szOutput:PAnsiChar;_wSize:integer ):integer; stdcall;
function TArj32.UnpackFiles( Handle:HWND;ArchiveFileName:string;Options:TArchiverOptions;DstPath:String;FileList:array of const;UseResFile:boolean;var Output:string ):Integer;