delphi - 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;
解决方案
在 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,而不是使用“以管理员身份运行”等特殊措施。
推荐阅读
- mysql - 使用 NOT IN () 的意外结果
- php - 如何使用 RESTFul API 在 Laravel 中管理无状态?
- typescript - 如何在 Typescript 转译中使用导入和导出?
- php - 如何使用 codeigniter 3 和 jquery 1.12.4 修复我的函数中的错误
- python - 如何从当前字典返回具有列表值的新字典?
- jira-rest-api - 需要使用 Jira python 获取问题链接类型
- java - Android 中的并发
- python - 为什么Python排序将大写项目放在第一位?
- javascript - npm lint 上可观察到的“不推荐使用源”错误
- javascript - 获取数组内数组中的值