いつもお世話になっています。
ブックオフでプログラミングC#第5版を買って、順に読み進めています。
23章 .NETとCOMの連携
23.1.1 ActiveXコントロールの作成
の所で、
もしもVB6を持っていないかコントロールの作成は退屈で省略したいという場合は、O'ReillyのWebサイトhttp://examples.oreilly.com/9780596527433/からダウンロードすることもできます。
とあるので、ダウンロードし、
23.1.2 ActiveXコントロールを.NETにインポートする
の所にある、Regsvr32 CalcControl.ocx
を実行して、
23.1.2.1 コントロールのインポート
の所で、[ツールボックス アイテムの選択] ダイアログが表示されるので、図23-6のように [COM コンポーネント] タブを選択した後、追加するコントロール(CalcControl.Calculator)にチェックをつけます。
とあるのですが、そのような名前のコントロールは見当たらず、先に進めなくなってしまいました。
どのような原因が考えられますか。
ちなみにダウンロードしたファイルの直リンは↓これです。
https://resources.oreilly.com/examples/978059652 …
No.2ベストアンサー
- 回答日時:
「自己登録に失敗しました」で検索したら、以下のサイトが見つかりました。
https://www.autodesk.co.jp/support/technical/art …
これの逆の状態ではないかと予想されます。
・Visual Studioは 2022からは64bitアプリになっている
・CalcControl.ocxは当時のことを考えると32bit版だと思われる
目次を見るかぎり、その章の内容は普段C#を使う分には使うことのないものです。
.NET環境だけでできないことを、Windowsの機能やC/C++で作ったライブラリを使って実現するための方法です。
ですが、それらの多くは、別の手段が用意されています。
・ActiveXコントロール→同等のコントロールが公開されていたり売ってたりする 等
そういうこともできる、とだけ学習しておいて、どうしても必要になったら詳細を確認する、ということでいいかと思います。
貴重なお休み中に調査いただき感謝いたします。
ご紹介のページの逆の状態ではとの事で、このページに記載されている手順を、自分の環境に読み替えてやってみました。つまり32となっている所を64に、64となっている所を32に読み替えてやってみました。
しかし、最後のFormのLoadイベントにocxの初期化処理を追加する所で、このocxにはFileNameプロパティという物が無いようで、行き詰まりました。
残念ですが、ここは先生の助言に従って、あきらめる事にします。
私は内心、そのお言葉を待っていたのかもしれません。
よって、晴れ晴れとした気持ちで先へ進みたいと思います。
No.1
- 回答日時:
ActiveXコントロールはほとんど使ったこと無いし、その本は読んだことないので、詳細はわかりませんが。
○お使いのVisual Studioのバージョンは?
https://www.oreilly.co.jp/books/9784873113968/
によると、2009年の本です。Visual Basicは2008が最新のはずです。
最新のVS2022とは画面が結構違います。
○Regsvr32 CalcControl.ocxは正常にできましたか?
・管理者権限のターミナルで実行したか?
・32ビット/64ビットの違いは大丈夫か?
当時はまだまだ32ビットXPがメインの時代、64ビットOSはそれほど普及していません。
それがらみの失敗が発生しているかもしれません。
https://support.microsoft.com/ja-jp/topic/regsvr …
貴重なお時間をいただき感激です。
環境を近づけるために、なるべく古いVisual Studioを入れようと試みましたが、うまく入らず、結局Windows10にVS2022という環境となっています。
23.1.2 ActiveXコントロールを.NETにインポートする
の所で、(Windows Vista環境では以下のコマンドを管理者権限で実行する必要があります)。
Regsvr32 CalcControl.ocx
とあるので、コマンドプロンプトを管理者として実行しました。
コマンドを実行すると、「成功しました」的なメッセージが表示されました。
しかし、[ツールボックス アイテムの選択] ダイアログのコンポーネント一覧に出てこないので、ダウンロードしたocxを、
C:\Windows\System32に移動して、
再度Regsvr32 CalcControl.ocxを実行したら「失敗しました」的なメッセージが出て、グーグル先生に聞いたところ、
C:\Windows\SysWOW64に登録するとうまくいくという情報を入手したので、
ocxをC:\Windows\SysWOW64に移動して、
再びRegsvr32 CalcControl.ocxを実行すると「成功しました」的なメッセージが表示されました。
しかし依然として[ツールボックス アイテムの選択] ダイアログには出てきません。
このダイアログ中に[参照(B)...]というボタンがあるので、ここから直接登録できるのかと思い、ボタンを押してocxを選択すると、
「C:\Windows\SysWOW64\CalcControl.ocxの自己登録に失敗しました。」と表示され、行き詰まりました。
当方、ocxの登録という行為について、良く分かっておらず、ここまで単に本のとおりにやってきました。
32ビット/64ビットの違いというのも良く分かっていません。
画面で確認すると、入っているWindows10は64ビットオペレーティンシステムとなっています。
以上より、この後のトラブルシューティング手順をご教示いただきたく存じます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- Excel(エクセル) ActiveXコントロールのコマンドボタン移動させようとすると消える 1 2022/04/26 22:29
- Excel(エクセル) コントロールにリンクするセルが選択されない 3 2022/06/12 14:37
- ストレス 悩んでいます 前まで腹が立っても自分の中で感情を溜めることができていましたが最近感情のコントロールが 2 2023/01/21 09:33
- ストレス 悩んでいます 前まで腹が立っても自分の中で感情を溜めることができていましたが最近感情のコントロールが 5 2023/02/18 16:54
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- その他(コンピューター・テクノロジー) コントロール+Fキーについて 2 2022/10/03 16:59
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
とっておきの「まかない飯」を教えて下さい!
飲食店で働く方だけが食べられる、とっておきの「まかない飯」。 働いてらっしゃる方がSNSなどにアップしているのを見ると、表のメニューには出てこない秘密感もあって、「食べたい!!」と毎回思ってしまいます。
-
.NETでActiveXコントロールを使う
その他(開発・運用・管理)
-
VB.NETでActiveX(OCXファイル)作成
Visual Basic(VBA)
-
API、OCX、DLLって何でしょう?
Visual Basic(VBA)
-
-
4
WIN32でOCXを利用する方法を教えて下さい!
C言語・C++・C#
-
5
VB6.0でのOCX・DLLの作り方
Excel(エクセル)
-
6
ActiveX DLL と ActiveXコントロールの違い
Visual Basic(VBA)
-
7
VB.netでDLLを読み込んで実行する際に、スタックを不安定にしていますというエラーが出ます。
Visual Basic(VBA)
-
8
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
9
FriendとPublicの違い。。。
Visual Basic(VBA)
-
10
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
11
VB.NETで他のEXEを実行させる
Visual Basic(VBA)
-
12
regsvr32.exe による DLLの登録について
UNIX・Linux
-
13
VBの「As String * 128」とは?
Visual Basic(VBA)
-
14
VB.NetのWinsockについて
Visual Basic(VBA)
-
15
VB.NETからC++のdll連携(double)
C言語・C++・C#
-
16
DLLとCOMの違い
その他(ソフトウェア)
-
17
MFCでOnPaintのタイミング
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
スピンボタンを右クリックして...
-
エクセルのコントロールツール...
-
DateTimePickerでに年月までし...
-
VBAでリストボックス内で↑↓の操...
-
コモンダイアログコントロール...
-
フォームでPDFを表示させた...
-
連続で印刷すると画像が更新さ...
-
ActiveXコントロールを.NETにイ...
-
MFC CFileDialog
-
安全でない可能性のあるActiveX...
-
EXCEL VBAでwebページを保存す...
-
TabControlが変る瞬間イベント
-
タブコントロールのオブジェク...
-
警告表示を非表示にしたい
-
エクセル - リストボックスのマ...
-
VC++ のタブオーダーについて
-
MFC・ダイアログベースで、ダイ...
-
C#.NETでのCOMコンポーネント作...
-
EXCELVBA リストボックスで選択...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
スピンボタンを右クリックして...
-
DateTimePickerでに年月までし...
-
ActiveXコントロールを.NETにイ...
-
連続で印刷すると画像が更新さ...
-
フォームでPDFを表示させた...
-
エクセル - リストボックスのマ...
-
コモンダイアログコントロール...
-
ワードのドロップダウンリスト
-
VBAでリストボックス内で↑↓の操...
-
EXCELVBA リストボックスで選択...
-
VB6.0のデザイン時 コントロー...
-
Accessのタブコントロールを2...
-
TabControlとToolBarの背景色変更
-
VisualStudio MFC変数が追加で...
-
警告表示を非表示にしたい
-
リストボックスの同期
-
C#.NETでのCOMコンポーネント作...
-
ダイアログボックスのボタンコ...
おすすめ情報