Delphi应用程序调用cobol应用程序->;错误

Delphi应用程序调用cobol应用程序->;错误,delphi,cobol,Delphi,Cobol,我们需要从旧的会计系统中获取数据。我们收到了一个dll,它允许我们访问所需的数据。它包括我们导入的类型库 如果我们从与会计系统相同的目录运行测试应用程序,那么一切都可以正常工作。如果尝试从其他目录运行应用程序,则会出现以下错误: 动态绑定RTS 运行时DLL“OOPS”,版本3.1,入口点OOPS 未记录在注册表中,未找到或不符合要求 动态绑定COBOL程序的设计。RTS的动态绑定需要: 运行时DLL“OOLSM”,至少版本3.1 有人能提供一些有用的信息吗 我们的目录中应该有某种cobol运行

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

如果我们从与会计系统相同的目录运行测试应用程序,那么一切都可以正常工作。如果尝试从其他目录运行应用程序,则会出现以下错误:

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

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

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

谢谢,
-维加尔

更新:

将系统%path%设置为包含会计系统的路径似乎可以做到这一点。由于某些原因,将其作为用户变量包含不会产生相同的效果。

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

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

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

如果您详细介绍一下您使用的COBOL编译器,以及您正在调用的dll接口是如何工作的,我会更容易地帮助您

也许“Dependency Walker”可以帮助您确定缺少哪些运行时文件(如果有)。

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

我以为我已经尝试过了,但在进行第二次测试时,它确实让我前进了一步。不过,我遇到了一个新错误:加载错误:最终版本'm99finale'。错误代码173,pc=0,call=1,seg=0。“如果我是你,我不会接受这个答案,因为你有更多的问题。编辑您的问题,而不是在评论中提出新问题。只要不接受答案,你就会得到更多的关注,从而得到更多的答案。这很有趣!因为我们收到了一个dll,我不确定它是如何制作的,但我肯定会问。在我们的测试机器上,COBDIR被定义为一个用户变量。会计系统的路径也定义为用户变量。将其移动到系统变量中似乎可以做到这一点。我总是将其设置为系统变量。听起来塞萨尔的建议让您完成了剩下的工作,对吗?这是真的,但COBOL使用运行时,DLL COBOL要查找的文件应该位于%COBDIR%系统变量处。