• ベストアンサー

ActiveXコントロールにオブジェクトの追加?

VB6SP6です。 ActiveXコントロールにはプロパティ・メソッド・イベントが設定できることがわかりました。 オブジェクトの追加ってできますか? 使用する側から 通常は「ActiveX名.メソッド」とするところを 「ActiveX名.オブジェクト名.メソッド」というようにメソッドを呼び出したいのです。 へんちくりんな質問でしたらすみません。 どなたかわかる方いらっしゃいましたらよろしくお願いいたします!

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

UserControlにクラスのインスタンスを返すプロパティを実装するだけです。 -- UserControl1 --- Private m_object1 As New Class1 Public Property Get Object1() As Class1 Set Object1 = m_object1 End Property -- Class1 -- Public Sub MyMethod() '処理 End Sub

kogeru_006
質問者

お礼

todo36さん!ありがとうございます! 試したところ使用側から 「ActiveX名.Object1.MyMethod」として記述できました! (これってきっと基本的なことなんですよね。。) んが、実行したところ 「実行時430エラー クラスはオートメーションまたは予測したインターフェイスをサポートしていません」 のメッセージが出てしまい、流れてくれません。 自分でも調べてみますが、 もしよろしければ対処法がわかりましたらお教え願えないでしょうか? ちなみに処理はメソッドにMsgBoxを追加しただけです。 よろしくお願いいたします。 -- Class1 -- Public Sub MyMethod() '処理 MsgBox "MyMethod!" End Sub

その他の回答 (1)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

Class1のプロパティ Instancing

kogeru_006
質問者

お礼

todo36さん。回答ありがとうございます。 Class1のプロパティ? Instancing?? なんのこっちゃな感じでしたが検索してみたらヒットしました! (知識が少なくてすみません。) 使用できる範囲があるんですね。 ↓こちらを参考にさせてもらいました。 http://homepage2.nifty.com/nihon-nouen/programming-classinstancing.htm そして Class1のInstancingプロパティをGlobalMultiUseに したところ、エラーも出ずに流れました。 本当にありがとうございました!

関連するQ&A