Delphi 7中嵌入的新RDP 8(mstscax.dll v6.2)提供了访问冲突

Mic*_*sen 6 delphi activex typelib mstsc

我的旧的Delphi 7程序带有嵌入式RDP客户端已经工作多年了,但是它在Windows 8上提供了Access Violations,如果你在Windows 7上安装RDP 8,那么mstscax.dll文件(带有ActiveX组件)将更新到6.2版本.

直到最近,我的项目已经从mstscax.dll v6.0导入了类型库,如果GUID在注册表中,我使用的是TMsRdpClient5,而在TMsRdpClient2中则用于向后兼容XP.为了研究这个新问题,我在我的Delphi 7所在的Windows 7 32bit上安装了RDP 8,导入了一个新的Type-Library MSTSCLib_TLB,这是我的发现:

在所有组件中,我可以直接在组件上设置属性,如Domain和ColorDepth,没有错误.但是,如果我想设置AdvancedSettings2.RDPPort,AdvancedSettings2.ClearTextPassword或SecuredSettings2.StartProgram等属性,则会导致"模块mstscax.dll中的访问冲突.阅读地址..."

所有这些属性都驻留在"子接口"中,问题是导入的库代码中的这些函数(返回"Sub interfaces")会导致访问冲突:

function Get_AdvancedSettings2: IMsRdpClientAdvancedSettings;
function Get_SecuredSettings2: IMsRdpClientSecuredSettings;
Run Code Online (Sandbox Code Playgroud)

Microsoft在mstscax.dll中更改了导入的类型库无法与之交互的内容?是否可以在最新的Delphi XE3中导入类型库并在Delphi 7中使用它并希望这能正确实现一些新技术?

我的Delphi 7安装了所有更新.任何帮助将不胜感激.