2

古い会計システムからデータを取得する必要があります。必要なデータへのアクセスを可能にする dll を受け取りました。インポートしたタイプ ライブラリが含まれています。

会計システムと同じディレクトリからテスト アプリケーションを実行すると、すべて正常に動作します。別のディレクトリからアプリケーションを実行しようとすると、次のエラーが発生します。

動的にバインドされた RTS
ランタイム DLL 'OOPS'、バージョン 3.1、エントリ ポイント oops がレジストリに記録されていないか、見つからないか、動的にバインドされた COBOL プログラムの要件と互換性がありません。RTS の動的バインディングには次が必要です: ランタイム DLL 'OOLSM'、少なくともバージョン 3.1

誰でもこれに関する役立つ情報を提供できますか?

ディレクトリに何らかの種類の COBOL ランタイムを配置する必要がありますか? それとも途中?またはレジストリに登録されていますか?

ありがとう -
ベガー

更新:
会計システムへのパスを含むようにシステム %path% を設定するとうまくいくようです。それをユーザー変数として含めても、何らかの理由で同じ効果がありませんでした。

4

3 に答える 3

2

どのコボルを使用していますか?私は Microfocus NetExpress 3.1 で 1 年間これを行ってきましたが、すべて問題なく動作します。COBOL データ ファイルにアクセスするための COBOL DLL を作成し、古い COBOL システムに新しい機能を追加するための Delphi DLL も作成します。

はい、私はランタイム パスを設定するために使用します。これは、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は、プログラムが要求しているDLLを、そのPATH環境変数にリストされているすべての場所、およびアプリケーションが配置されているディレクトリで検索します。

于 2008-12-10T13:34:30.060 に答える