"Aspen Custom Modeler"という独自の化学シミュレーションパッケージを使用しています。 (ACM)ACMには、あなたがそれを運転するために使用できるCOMインターフェイスがあります。 AspenTechは、Visual Basicを使ってACMとやりとりすることを期待していますが、VBをあまり好きではなく、C#を使いました。これは私にあらゆる形のトラブルを引き起こしました。"オブジェクト参照がオブジェクトのインスタンスに設定されていません"というCOMExceptionが発生します
私の最新の問題は、通常の使用で発生する可能性のある単純なエラーの場合でもACMが例外をスローすることです。私は収束しないデータセットを持っています。 ACMはSTS_F_FailureというCOMExceptionをスローします。 Visual Basicでは、正しい型を取得しますが、C#では、何らかの理由で「オブジェクトのインスタンスがオブジェクトのインスタンスに設定されていません」という例外が発生します。
私の推測では、Interopライブラリには正しい例外タイプがないということです。誰も私が例外の正しい型を得る方法を知っていますか?
をどのように発生するかの素敵な説明を持っていることは、HRESULTが発生する、NullPointerに対応して任意のコードと一致していることを思えません。 HRESULTは189で、Errlookは「オペレーティングシステムは%1を実行できません」と返します。さらに、私は同じライブラリ内の他の関数からの例外に対しても同じNullPointer例外を取得しました。私はかなり同じ型ではないと確信しています。 – Jim
tlbimpは、残念ながら、ACMのための良いインターフェイスのようなものを生成していないようです。コンパイル時のバインディングは完全に壊れています。したがって、新しいinteropライブラリを生成するためにtlbimpを使用しても役に立ちませんでした。私は本当にインターフェイスについては何も知らないので、自分自身を書くことは良い考えです。 (それは独自のものだから)だから、私は例外をキャッチし、それが何であるかを知っているように思っている。 – Jim