0

我有一个用 C# 开发的 COM 对象,它将在 VFP 中使用。该对象可以由开发系统上的 vfp 项目加载,方法是将 c# dll 复制到 vfp 项目的主目录中,并注册它。我正在运行安装的 vfp 项目,而不是在 vfp 环境中。换句话说,我的开发系统上没有打开vfp,但是vs2010是..但是,dll项目显然没有运行。

当我移动到既没有 vfp 也没有 vs 的测试机器上,放入 dll,注册它,然后尝试运行,没有任何反应。不幸的是,vfp 中没有生成错误,我无法更改 vfp 代码。

在 COM 对象在系统上运行之前,我是否需要做一些技巧,或者 VS 可能对开发系统上的 dll 进行某种类型的注册?

感谢您提供任何帮助。非常感谢。

4

3 回答 3

1

这很可能是您缺少依赖项。您可以从 jscript 创建和使用对象吗?您可以在 cmd.exe 控制台中创建一个文本文件并直接在大多数版本的 windows 上运行它(使用 .js 文件扩展名保存此文本文件);

var x = new ActiveXObject("YourProject.YourCOMServerName");
x.YourSimpleMethod();

WScript.Echo("done");

这将从等式中删除 VFP 并查看您的 COM DLL 是否会加载,并可能为您提供下一步查看的线索。

于 2012-10-15T21:30:27.040 回答
0

我也有类似的情况。我必须注册我的 COM 服务器(作为管理员):

$cd <directory containing COM server>
$com.exe /regserver
于 2012-10-15T21:30:56.527 回答
0

愚蠢的问题,但测试机器上是否安装了正确的 .net 框架?可能根本与VFP无关。

可能还值得一看http://msdn.microsoft.com/en-us/library/aa645738%28v=vs.71%29.aspx用 C# 创建 COM 自动化服务器

于 2012-11-07T14:13:36.210 回答