投稿日 | : 2003/10/23(Thu) 16:25 |
投稿者 | : まさ |
Eメール | : |
URL | : |
タイトル | : ActivX作成について |
始めまして、非常にこまったことがあるので質問させてください。
(開発環境) VB6.0
(OS) Win2000
ActiveX作成で、ユーザーコントロールモジュールの中で、
UserControlのプロパティを参照しました。それはもちろんOKでした。
そのあとクラスを生成し、クラスのなかで、UserControlのプロパティを参照しようと
しました。そのまま参照しようとするとオブジェクトが無い。と、もちろん言われるので、
オブジェクト型のプロパティをクラスに実装させ、
クラス内のメソッドの中で、UserControlのプロパティを参照しようとしたところで
エラーがでました。
この現象はどういうことでしょうか?
どうかご教授おねがいします。
サンプルソースを書きます。
<ユーザーコントロールモジュール>
Public Cls As クラス
Public ParentForm As Form
Private Sub UserControl_Initialize()
Set Cls = New クラス
UserControl.ScaleMode = 3 '// スケールをピクセルに変更
UserControl.AutoRedraw = True '// オートリドロー ユーザーコントロールモジュールで、
'// UserControlのプロパティは参照できる。
End Sub
Private Sub UserControl_Resize()
Set ParentForm = UserControl.Parent '// 自作のコントロールが張り付いてる親フォーム取得
Cls.TrgetObj = ParentForm.Controls(0) '// クラスに UserControl をセット
Cls.メソッド '// メソッド呼び出し
End Sub
<クラス>
Private mTrgetObj As Object
'// ターゲットオブジェの取得
Property Let TrgetObj(ByRef Obj As Object)
Set mTrgetObj = Obj
End Property
Public Sub メソッド()
mTrgetObj.DrawMode = 7 '// ここで実行時エラー438 オブジェクトはこのプロパティ
'// またはメソッドをサポートしていません。 とエラーがでます。
End Sub