procedure TForm1.Button1Click(Sender: TObject); var va_Param: Variant; psa_Param: ActiveX.PSafeArray; begin with ScriptControl1 do begin // Set script language (VBScript is the default). Language := 'VBScript'; // Set UI interaction (TRUE is the default). AllowUI := true; // Copy the script to the control. AddCode(Memo1.Text); // Demonstrate the Eval method. WriteLn(Eval('AddTwo(5,7)')); // Demonstrate the Run method both with and without return values. // Hello("Jane Dow") 호출 테스트. va_Param := VarArrayCreate([0,0], varVariant); va_Param[0] := 'Jane Doe'; psa_Param := PSafeArray(TVarData(va_Param).VArray); Run('Hello', psa_Param); // AddTwo(4,6) 호출 테스트. va_Param := VarArrayCreate([0,1], varVariant); va_Param[0] := 4; va_Param[1] := 6; psa_Param := PSafeArray(TVarData(va_Param).VArray); WriteLn(Run('AddTwo', psa_Param)); // Run의 리턴값이 Variant임. // Demonstrate the ExecuteStatement method. ExecuteStatement('Hello "Sue Smith"'); ExecuteStatement('AddTwo 9,18'); ExecuteStatement('MsgBox CStr(AddTwo(3,8))'); end; end;