掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLLでコンポーネントの追加をするには? (ID:76925)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>コンポーネントの追加でそれは指定できるのですか? できます。 >コンポーネントの追加の参照ボタンで追加しようとしたときです。 ためしてみましたか? ActiveXコントロールの追加ダイアログで ファイルの種類を「すべてのファイル(*.*)」にすれば どんな拡張子であろうと参照可能です。 ただし、コンポーネントとして必要なファイル構造をしていなければ、 「登録できない」といわれるだけですが・・・。 さて、ひとつ実験をしてみましょう。 VBを起動します。 「新しいプロジェクト」ウィンドウの新規作成タグで ActiveXコントロールを選択します。 今回は、拡張子のテストですから、特に画面の加工は不要ですが、 気になるならUserControl上に適当にコントロールを 貼り付けてください。 識別しやすいように、Project名をprjUser1, UserControlのオブジェクト名をusr1に変更して、 適当なフォルダに保存します。 ファイル→prjUser1.ocxの作成を選択し、 「実行可能ファイルの作成」ダイアログで、ファイル名 prjUser1.ocxとなっていますから、適当に変更します。 ここでは prjUser1.txt としてみましょう。 「OK」を押すと、コンパイルされ、先ほどの保存フォルダに prjUser1.txtが作られます。 しかし、このファイルをダブルクリックしたりして メモ帳などのエディタで開いてはいけません。 拡張子こそtxtとなってますが、テキストファイルではなく、 れっきとしたいわゆる「ocxファイル」です。 より正確にはビルドされた「ユーザインターフェイスをもつCOM」 ファイルです。 確かめてみましょう。さっきのprjUser1のエディトを終了し、 新規に標準Exeをおこします。 プロジェクト→コンポーネントを選択し、コンポーネントダイアログを 探すと、prjUser1が見つかります。 クリックして、「場所」を見るとprjUser1.txtとなってますね。 チェックをいれて「OK」を押すと、ツールボックスに配置され、 普通のコントロールと同じようにFormに配置できます。 では、なぜ拡張子がtxtなのにocxファイルと認識したのでしょう? それは、コンパイルしたときにVBがレジストリに 「prjUser1.txtはocxファイルである」という情報を 書き込んだからです。 ということは、手作業でレジストリを書き換えれば どんなファイルでも「ocxとして登録」することができます。 しかし、本当にコントロールとして使えるか?は あくまでファイルの内部構造に依存します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.