procedure UnarcThread(data:integer);stdcall; var x,y:integer; cmd:array[1..6]of PAnsiChar; label ExitUnarc; begin if FreeArcExtract(@MyUnarcCallBack, 'l', '--', Pchar(AnsiToUtf8(InputFileExt)), nil, nil , nil, nil, nil, nil, nil)>=0 then begin cmd[1]:=CfgOptExt; cmd[2]:=PassOptExt; cmd[3]:=WorkOptExt; cmd[4]:=PAnsiChar(AnsiToUtf8('-dp'+OutputPathExt)); cmd[5]:='--'; cmd[6]:=PChar(AnsiToUtf8(InputFileExt)); for x:=1 to 3 do while cmd[x]=nil do begin for y:=x+1 to 6 do cmd[y-1]:=cmd[y]; cmd[6]:=nil; end; FreeArcExtract(@MyUnarcCallBack,'x','-o+','-p1234567',cmd[1],cmd[2],cmd[3],cmd[4],cmd[5], cmd[6], nil); end else UnarcError:=true; UnarcDone:=true; ExitThread(0); end; |