私たちは Delphi で計算コアをゼロから書き直しており、他の人がそれに対してコードを書けるようにする方法を探しています。
自動化は、これを行うためのかなり安全な方法のようです。私たちが考えている用途の 1 つは、VBA/Office で使用できるようにすることと、.NET アセンブリを生成することです (Automation オブジェクトに基づいているので簡単です)。
ただし、コードは Delphi から簡単に使用できるはずです。これを使用して(デスクトップ)UI を作成するからです。
現在、Delphi でオートメーション サーバーを作成することを検討していますが、タイプ ライブラリ ウィザードでコンポーネントを設計し、ベース コードを生成するのはかなり面倒に思えます。
私たちが実装しなければならない計算は、まだ承認されていない公式の規則と規制に記載されているため、完了する前に変更される可能性があります。最終版を待つという選択肢はありません。
別の方法として、最初にオブジェクト モデル全体を完成させ、最上位オブジェクト switch のみを記述する別のオートメーション サーバーを作成し、$METHODINFO ON
TObjectDispatch を使用してすべての下位オブジェクトを返すこともできます。 私が見たように、IDispatch インターフェイスによってオブジェクトを返すラッパーを作成する必要があります。そこには 100 を超えるさまざまなクラスがあるため、魅力的なオプションとは思えません。
編集: TObjectDispatch は、プロパティやメソッドによって返されるオブジェクトもラップできるほどスマートです。そのため、最上位のオブジェクトのみをラップする必要があります。ただし、完全なタイプ ライブラリがないということは、レイト バインディングしかできないということです。
Delphi で COM アクセス可能なオブジェクト モデルを作成するための、他の簡単な (読み: 手間のかからない) 方法はありますか?