【发布时间】:2011-08-11 02:18:04
【问题描述】:
我的公司正在尝试使用 VFoxpro 9.0 中的第 3 方 PDF 生成器。他们向我们提供了一个 .dll COM 文件和方法文档,但他们不支持 Foxpro,因此无法提供帮助。
我注册了 DLL 并加载了 COM,它成功了——在我 createobject() 之后智能感知提示我提供方法列表,所以我知道它正在正确导入它们。但是,当我尝试调用任何方法时,我会得到一个弹出窗口,上面只显示“语法错误。”,这几乎没有帮助。我尝试调用一种不带参数的方法,以防问题是通过约定,但该方法也返回“语法错误”。除了创建一个对象并将其用于方法调用之外,我还需要做些什么吗?
我并不是真正的 foxpro 人,但我已经尝试过使用不同的 COM 做同样的事情,比如 Excel.Application,它们的工作方式与我期望的一样。 COM 是否有任何原因可能与 Foxpro 不兼容,或者需要一些其他操作才能使其工作?
非常感谢您的任何建议。
好的,经过一天半我发现了问题。
我输入a=createobject("library.class"),然后输入= a.method(),它返回“语法错误”。事实证明,如果我将变量命名为 a 以外的任何名称,它就可以工作! foxpro 中似乎存在某种错误,因此当变量名称为a 时,它无法正确解析。如果我使用b、x、anotherName 或其他任何东西都可以。如果我输入?a,它会确认a 是(object),正如我所说,智能感知正在识别所有方法名称和类型。我迫不及待地想回到 java。
所以谢谢,不需要其他答案,但我会留下这个,以防它可以帮助其他可怜的人。
【问题讨论】:
-
字母 A 到 J 在 FoxPro 中保留为前 10 个工作区的备用名称。 (这是向后兼容的事情。)一般来说,将它们中的任何一个用作变量名都是一个坏主意。字母 M 也是如此,它是为区分变量和字段而保留的。
-
嗨@Russel,您能否发布您自己找到的答案作为答案 并接受它,这样这个问题就不会留在“未回答的问题”列表中?我希望你在 Java 世界玩得开心 ;-)...
标签: dll com visual-foxpro foxpro