TdwsRTTIConnector と関数を使用して、スクリプトに「挿入」された TForm インスタンスにいくつかのプロパティを設定しようとしました。
procedure TForm1.OnFunctionEval_ConnectForm(info: TProgramInfo);
var
c:TComponent;
begin
c := Application.FindComponent(Info.ParamAsString[0]);
if not (c is TForm) then
Info.ResultAsVariant := Null
else
Info.ResultAsVariant := TdwsRTTIVariant.FromObject(c);
end;
次のスクリプトは、f.FormStyle := 2;の行を除いて正常に動作します。、「無効なクラスの型キャスト」というエラーが表示されます
showmessage('Step1');
var f:RttiVariant<Vcl.Forms.TForm> := ConnectForm('Form1');
f.AlphaBlendValue := 0;
f.AlphaBlend := True;
f.Hide;
f.Color := $00FFFF;
showmessage('Step2');
f.FormStyle := 2;
//f.FormStyle := TFormStyle(2);
f.Show;
f.AlphaBlend := False;
showmessage('Step3');
FormStyle や BorderStyle などの列挙型プロパティを設定する方法
ありがとう