1

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 などの列挙型プロパティを設定する方法

ありがとう

4

0 に答える 0