{*******************************************************} { } { 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.