2

我们需要从旧的会计系统中获取数据。我们收到了一个 dll,可以让我们访问所需的数据。它包括一个我们已经导入的类型库。

如果我们从与会计系统相同的目录运行我们的测试应用程序,一切正常。如果我们尝试从不同的目录运行我们的应用程序,我们会收到以下错误:

动态绑定 RTS
运行时 DLL 'OOPS',版本 3.1,入口点 oops 未记录在注册表中,未找到或与动态绑定 COBOL 程序的要求不兼容。RTS 的动态绑定需要:运行时 DLL 'OOLSM',至少版本 3.1

任何人都可以提供一些有用的信息吗?

我们是否应该在我们的目录中有某种 cobol 运行时?还是在路上?还是在注册表中注册?

谢谢,
-素食主义者

更新:
设置系统 %path% 以包含会计系统的路径似乎可以解决问题。由于某种原因,将其作为用户变量包含在内并没有相同的效果。

4

3 回答 3

2

你用的是什么Cobol?我已经使用 Microfocus NetExpress 3.1 完成了这一年,并且一切正常。我编写 COBOL DLL 来访问 COBOL 数据文件,还编写 Delphi DLL 来为旧的 COBOL 系统添加新功能。

是的,我用来设置运行时路径,即环境变量 COBDIR,还有其他的,但通常 %PATH% 和 %COBDIR% 就足够了。

如果您提供更多有关您使用的COBOL编译器的详细信息,以及您正在调用的dll接口如何,我会很容易为您提供帮助。

也许“Dependence Walker”可以帮助您确定缺少哪些运行时文件(如果有的话)。 http://www.dependencywalker.com/

于 2008-12-10T11:23:47.640 回答
1

如果它适用于会计应用程序的目录,但不是不同的目录,那么我尝试的第一件事就是将该目录添加到您的路径中。

于 2008-12-10T10:35:44.943 回答
0

除非它已经加载到内存中,否则 Windows 会在其 PATH 环境变量中列出的每个位置以及应用程序所在的目录中查找程序请求的 DLL。

于 2008-12-10T13:34:30.060 回答