DelphiによるActiveXコントロールの実装を使用しています。私のメインクラスでは、次のことがあります。
type
TezDICOMX = class(TActiveForm, IezDICOMX)
ToolBar1: TToolBar;
OpenBtn: TSpeedButton;
PreviousBtn: TSpeedButton;
....これらのコードをクラスに追加します。
published
procedure abc; safecall;
その後、プロジェクトをビルドしてActiveXサーバーを登録します。ezDICOMax.ocxを生成します。Visual Studioを開き、以前に埋め込んだ残りのezDICOM activeXコントロールを削除して、新しいコントロールを埋め込みます。ActiveXコントロールをデザインにドラッグし、the_ezdicomという名前を付けます。ですから、私が思うに、the_ezdicom.abc()を呼び出す必要がありますが、そうすると、コンパイラは文句を言います。
'AxezDICOMax.AxezDICOMX' does not contain a definition for 'abc' and no extension method 'abc' accepting a first argument of type 'AxezDICOMax.AxezDICOMX' could be found (are you missing a using directive or an assembly reference?)
私が間違ったことは何ですか?Delphiを使用してActiveXコントロールで公開されたプロシージャ/関数を作成するにはどうすればよいですか?クラス内の既存の関数/プロシージャを変更し、すべての登録、埋め込みステップを実行すると、C#から呼び出したときのその関数/プロシージャの結果も変更されるため、ActiveXコントロールがDelphiソースに更新されると思いますが、公開されているプロシージャ/関数をまだ追加できません。