2008-12-10 101 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。