我正在使用 Win 7 和 VS2010 运行 32 位开发环境。我能够在 Windows7 中注册 Delphi 创建的 ActiveX
regsvr32.exe "C:\Program Files\MyApp\Test\DelphiActiveX.dll"
然后我在我的 VS2010 Windows 窗体项目中添加了参考。
我尝试了将 ActiveX 与动态对象一起使用的 c# 4.0 方式,但它不起作用。什么都没发生。
// c# 4.0
dynamic myActiveXLink = Activator.CreateInstance(Type.GetTypeFromProgID("DelphiActiveX.DelphiActiveXLink"));
//dynamic myActiveXLink = Activator.CreateInstance(Type.GetTypeFromCLSID(""));
myActiveXLink.SearchByName("FName1", "LName1");
SearchByName 方法应该启动安装在计算机上的第三方应用程序。
编辑: CreateInstance() 执行没有错误。现在我在 myActiveXLink.SearchByName() 调用中遇到异常:
完全相同的代码在 WindowsXP 和 VS2010 下工作正常,但在 Windows7 32 位和 VS2010 下失败。