首页 > 解决方案 > Delphi 10.2 CE 中导入的 ActiveX 控件在调色板中不可用

问题描述

我正在使用社区版,但不知道这方面的任何限制。

我已mstscax.dll通过Component |> Import Component...并选择“ActiveX”导入。该组件未显示在组件面板中,直接编辑 DFM 以包含 TMsRdpClient[digit] 组件会导致表单生成器错误,指出无法找到该组件。

但是,如果这些错误被“取消”而不是“忽略”,则可以构建和运行预制项目(RDPWrap 的RDPCheck )。还需要解决这里提到的错误。

在我自己创建的项目中,我能够将生成的文件添加MSTSCLib_TLB到使用子句并将类型变量添加TMsRdpClient7到表单中。在FormCreate函数中(例如)我可以调用TMsRdpClient7.Create(Self)然后访问对象的属性。如果我设置了足够的属性(见下文),我会在调用TMsRdpClient7.Connect.

  with RDP do
  begin
    Left := 0;
    Top := 0;
    Width := Self.Width;
    Height := Self.Height;
    Parent := Self;
    Visible := True;

    DisconnectedText := 'Disconnected.';
    UserName := '';
    Server := '127.0.0.2';
  end;

标签: delphicomactivex

解决方案


在 Delphi 10.2.3 上导入 MSTScax.Dll 对我来说效果很好,并导致 25 个组件显示在ActiveX组件调色板的选项卡上,从组件开始TMsTScaxNotSafeForScripting

我可以发布使用的确切步骤,但我想知道您是否只是缺少一个步骤:

ConnectWithEndpoint在将属性类型更正为OleVariant并编译包含导入单元的包MSTSCLib_TLB.Pas后,我们将其称为 RDP.Pkg,您需要转到Project Manager,右键单击RDP.Bpl并单击Install- 然后它应该会显示在ActiveX选项卡上。那对你有用吗?

顺便说一句,我是从 Win10 64 位上的桌面链接以普通方式启动 Delphi,而不是使用“以管理员身份运行”等特殊措施。


推荐阅读