実行時バインディングを使用してVisualFoxProのフォームに追加するActiveXコントロール(C#を使用して作成)があります。コントロールを登録すると問題なく動作します。
reg free COMを使用して、必要なマニフェストファイルを作成したいと思います。これで、ダブルクリックするか文法的にアクティブ化するまで、ロードされて非アクティブ状態で表示されます。regfreecomマニフェストファイルとは何の関係もないと思います。ただし、遅延バインディング呼び出しを行う前/後に設定するために必要なことはありますAddObject()
か?
this.AddObject('OleControl1', 'oleControl', 'SomeCompany.SomeOleControl')
それOleTypeAllowed
によって作成されたOleControlのプロパティを確認すると、 (ActiveXオブジェクト)ではなく(埋め込みOLEオブジェクト)になっています。そのため、OleControlは間違ったタイプにインスタンス化されました。AddObject()
1
-2
私も次のことを試しました:
DEFINE
のサブクラスOleControl
とプロパティを設定しますOleTypeAllowed = -2
。コントロールをロードするために遅延バインディングを使用しました。必要に応じて動作しませんでした。OleTypeAllowed
として戻ってきた1
ActiveXコントロールを登録しました。ビジュアルエディターを使用して、ActiveXコントロールをサブクラスとしてプロジェクトに追加しました。コントロールの登録を解除しました。コントロールをロードするために遅延バインディングを使用しました。必要に応じて動作しませんでした。
OleTypeAllowed
として戻ってきました1
。
OleControlをActiveXコントロールとしてロードすることは可能ですか?
FoxProに変換できるVBからの入力もいただければ幸いです。