[リストへもどる]
一括表示

投稿時間:2003/12/22(Mon) 20:25
投稿者名:ビックバレー
Eメール:
URL :
タイトル:
OCXファイルについて
どうも、お世話になります。
とあるWebサイトでOCXファイルを入手したのですが、
現在、自分の端末にOCXをレジストリ登録(regsrv32)を行ったあと、
VisualBasic6.0の参照設定およびコンポーネントにチェックをいれ、
ActiveXコントロールを利用できるようにしました。

そして、そのコントロールをあるイベントが発生したタイミングで
オブジェクトを動的に生成したいのですが、記述方法が悪いのか
CriateObjectでオブジェクトを生成しようとすると、
エラーが返却されてしまいます。
エラー内容:実行時エラー'429'「ActiveXコンポーネントはオブジェクトを作成できません。」

ActiveXコントロール名は「Cp32Ctrl」です。

ソース記述は下記の通りにしています↓

Private Sub CmdTel_Click(Index As Integer)
                  
    Dim obj As Object
    Set obj = CreateObject("Cp32Ctrl.Cp32Ctrl1")
                              
                    ・
                    ・
End Sub

もしCreateObject以外で、コントロールオブジェクトを動的に
生成できる手法がありましたら、そちらもご指南しただけると非常に助かります。
どうぞ宜しくお願い致しますm(__)m

投稿時間:2003/12/23(Tue) 00:51
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: OCXファイルについて
> エラー内容:実行時エラー'429'「ActiveXコンポーネントはオブジェクトを作成できません。」
> ActiveXコントロール名は「Cp32Ctrl」です。
CreateObjectで指定する文字列とコントロール名とは、必ずしも一致するとは限りません。
そもそも、そのコントロールはCreateObjectからでも利用できるように設計されているのでしょうか?


> もしCreateObject以外で、コントロールオブジェクトを動的に
> 生成できる手法がありましたら、そちらもご指南しただけると非常に助かります。
VB6であれば、「Licensesコレクション」+「ControlsコレクションのAddメソッド」を使ってみるとか。

Option Explicit
Private WithEvents RichTextBox1 As VB.VBControlExtender
Private Sub Form_Load()
    VB.Global.Licenses.Add "RICHTEXT.RichtextCtrl"
    Set RichTextBox1 = Me.Controls.Add("RICHTEXT.RichtextCtrl", "RichTextBox1")
    RichTextBox1.Move 0, 0, 2880, 2880
    RichTextBox1.Visible = True
End Sub

Private Sub RichTextBox1_ObjectEvent(Info As EventInfo)
    Dim Evt As VBRUN.EventParameter
    Debug.Print Info.Name,
    For Each Evt In Info.EventParameters
        Debug.Print "["; Evt.Name; "]="; Evt.Value,
    Next
    Debug.Print
End Sub

投稿時間:2003/12/24(Wed) 11:36
投稿者名:ビックバレー
Eメール:
URL :
タイトル:
Re^2: OCXファイルについて
>VB6であれば、「Licensesコレクション」+「ControlsコレクションのAddメソッド」を使ってみるとか。
魔界の仮面弁士さん、レクチャーありがとうございました!!
ただいま、Controls.Addメソッドでのコントロール生成に着手しています。
現在は、まだうまくいってないのですが、Webを駆使して
いろいろ試してみようと思います。大変助かりましたm(__)m