投稿時間: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
|