Delphi app调用cobol app - >错误

时间:2008-12-10 10:22:11

标签: delphi cobol

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

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

  

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

有人能提供一些有用的信息吗?

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

谢谢,
-Vegar

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

3 个答案:

答案 0 :(得分:2)

你用的是什么Cobol? 我用Microfocus NetExpress 3.1完成了这一年,所有工作都很好。 我编写COBOL DLL来访问COBOL数据文件,并编写Delphi DLL以向旧COBOL系统添加新功能。

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

如果您更多地介绍您使用的COBOL编译器,以及您调用的dll接口如何,我将很容易为您提供帮助。

也许“Dependence Walker”可以帮助您确定哪些运行时文件丢失,如果是的话。 http://www.dependencywalker.com/

答案 1 :(得分:1)

如果它来自会计应用程序的目录,但不是另一个目录,我首先尝试的是将该目录添加到您的路径中。

答案 2 :(得分:0)

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