2008-12-10 90 views
2

我们需要从旧会计系统中获取数据。我们收到了一个dll,可以让我们访问我们需要的数据。它包含我们导入的类型库。Delphi应用程序调用cobol应用程序 - >错误

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

Dynamically Bound RTS
Runtime DLL 'OOPS', version 3.1, entry point oops not recorded in registry, not found or incompatible with requirements of dynamically bound COBOL program. Dynamic binding of RTS requires: Runtime DLL 'OOLSM', at least Version 3.1

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

我们应该在我们的目录中有一些cobol运行时?或者在路上?或者在注册表中注册?

感谢,
-Vegar

更新:
设置系统%PATH%包括路径会计制度,似乎这样的伎俩。将它作为用户变量包含在内,由于某种原因没有相同的效果。

+0

如果我是你,我不会接受答案,因为你有更多的问题。不要在评论中提出新问题,请编辑您的问题。只要没有答案被接受,你会得到更多的关注,因此答案。 – 2008-12-10 10:45:24

+0

我想你是对的。 – Vegar 2008-12-10 11:49:25

回答

1

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

+0

我以为我已经尝试过,但做了第二次测试,它确实让我向前迈进了一步。 – Vegar 2008-12-10 10:41:27

+0

虽然我得到一个新的错误:“加载错误:结局'm99finale'。错误代码173,pc = 0,call = 1,seg = 0。 – Vegar 2008-12-10 10:43:18

2

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

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

如果您对使用的COBOL编译器有更多的了解,以及如何调用dll接口,我会不会为您提供帮助。

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

0

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