VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -