BSOne.SFC/Tocsg.Module/FasooDRM/ThdProcFasooDRM.pas

80 lines
1.8 KiB
Plaintext

{*******************************************************}
{ }
{ ThdProcFasooDRM }
{ }
{ Copyright (C) 2025 kku }
{ }
{*******************************************************}
unit ThdProcFasooDRM;
interface
uses
System.SysUtils, Tocsg.Thread, System.Classes;
type
TThdProcFasooDRM = class(TTgThread)
protected
// EncList_: TStringList;
sKeyDir_,
sSrcPath_,
sDestPath_: String;
bUser_: Boolean;
nError_: Integer;
procedure Execute; override;
public
Constructor Create(sKeyDir, sSrcPath, sDestPath: String; bUser: Boolean);
Destructor Destroy; override;
property WorkState: TTgThreadState read WorkState_;
property ErrorCode: Integer read nError_;
end;
implementation
uses
Tocsg.Fasoo, Tocsg.Safe, Winapi.ActiveX;
Constructor TThdProcFasooDRM.Create(sKeyDir, sSrcPath, sDestPath: String; bUser: Boolean);
begin
Inherited Create;
// EncList_ := TStringList.Create;
// EncList_.AddStrings(aEncFileList);
sKeyDir_ := sKeyDir;
sSrcPath_ := sSrcPath;
sDestPath_ := sDestPath;
bUser_ := bUser;
nError_ := -1;
SetWorkState(tsInit);
end;
Destructor TThdProcFasooDRM.Destroy;
begin
// FreeAndNil(EncList_);
Inherited;
end;
procedure TThdProcFasooDRM.Execute;
var
i: Integer;
fas: TTgFasoo;
begin
SetWorkState(tsWorking);
// for i := 0 to EncList_.Count - 1 do
// begin
//
// end;
// i := 0;
CoInitializeEx(nil, COINIT_APARTMENTTHREADED);
Guard(fas, TTgFasoo.Create(sKeyDir_, sKeyDir_));
fas.DoExtract(sSrcPath_, sDestPath_, bUser_, @nError_);
SetWorkState(tsCompleted);
end;
end.