3

Delphi で一連の ActiveX コントロールを作成して、他の開発環境で使用できるようにしました (2 つの例として、Visual Studio や Windows の dBASE など)。

RAD Studio IDE の一部として提供されている ActiveX ウィザードを使用して、VCL ベースのコントロール用に ActiveX の「バインディング」を生成しましたが (より適切な言葉が必要です)、IDE に表示するために必要なソースを生成していないようです。コンポーネントパレット。

通常、これらの IDE (Visual Studio および dBASE Plus) では、ActiveX コントロールをインポートするだけで、ツールボックス (コンポーネント パレットのバージョン) に定義済みのアイコンが表示されます。

さて、Delphi で生成された私自身の ActiveX コントロールはそうではありません (インポートは問題なく行われますが、パレット/ツールボックスには表示されません)。私はこの 2 週間、解決策を見つけようと Google を探し回っています。

惨めに失敗したので、ここで質問することにしました:

ActiveX コントロールを Visual Studio (およびその他) のツールボックスに表示するにはどうすればよいですか?

アドバイス/提案をありがとう。

編集:いくつかの追加情報...

XE2 と XE3 の両方でこれを実行しようとしてきましたが、毎回失敗しました... ただし、Delphi 2007 で (ウィザードを使用して) 同じことを行うと、コンポーネントのアイコンが Pallet/必要に応じて他の IDE のツールボックス。これは、この問題が Delphi 2007 の後で導入されたことを意味し、RTL/VCL の変更の結果である可能性があります。

4

1 に答える 1

1

私の調査によると、Delphi の Unicode バージョン (2009 ~ XE3) は、提供されたウィザードを使用して ActiveX コントロールの正しいマークアップを生成しないという結論に達しました。

さらに、Delphi 2007 以降の RTL と VCL の変更により、必要なソース マークアップを手動で作成しても、Delphi 以外のアプリケーション (Visual Studio や dBASE Plus など) に埋め込まれた場合、コントロールが適切に動作しません。Parentこれの多くは、VCL 準拠のプロパティ値の VCL の推定に関連しており、このようなプロパティの更新によりParentFontアクセス違反エラーが発生します。

私の場合の解決策は、Delphi 2007 でエクスポートされた ActiveX コントロールを生成することでした (これは、他の ActiveX コントロール コンシューマと「公正にプレーする」ための最新バージョンです)。

願わくば、この情報が、私がこの結論に至るまでに経験しなければならなかった長くて煩わしい事実調査プロセスからあなたを救ってくれることを願っています.

于 2013-02-11T02:03:14.060 に答える