質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

2回答

5910閲覧

Visual Studio 2017 で作成した OCXを他端末で表示したい

teketeke2283

総合スコア8

MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2018/03/20 18:13

ActiveXのサンプルを作成しております。
下記のページを参考にして、Hello World!の表示ができるようになりました。
https://teratail.com/questions/77846

ですが、ここで作成したOCXファイルとhtmlファイルを他の端末に持って行ったところ、実行できませんでした。

IEのインターネットオプションはActiveXを実行するように設定変更しましたが、実行できません。
どのようにしたら、他の端末でActiveXを実行できますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

インストール先の端末に必要なライブラリがそろっていないのではないでしょうか

MSDNのサイト Visual C++ ActiveX コントロールの再配布
MSDNのサイト MFCライブラリの再配布

を参考にインストール先の端末の環境を整備してみてはどうでしょう。

投稿2018/03/21 01:41

KoichiSugiyama

総合スコア3041

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KoichiSugiyama

2018/03/23 01:05 編集

作り方にもよりますが、だいたいはそうなります。 ocxをどういった目的で作成されているかによりますが、ネイティブアプリに組み込んで使用するのであれば、最初から依存している外部ライブラリやランタイム(のインストーラ)も一緒にインストーラに含めてしまうことが必要になります。 今はもうあまり使われていませんが、Internet Explorer上で動かす(Web経由でインストールさせる)のであれば、あまり凝ったインストーラが作れないので極力他のライブラリを使用しないようにしなければいけません。
teketeke2283

2018/03/29 13:16

ご丁寧な回答ありがとうございました!
guest

0

ベストアンサー

どうやって持って行きましたか?
想像するにインストール失敗しているかそもそもインストールしていないのでは?

投稿2018/03/20 23:28

Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teketeke2283

2018/03/21 00:12

ご回答ありがとうございます。説明不足と知識不足でご迷惑をおかけします。 単純に持って行っただけでした。 インストールが必要だったのですね。 調べたところ、regsvr32 コマンドでインストールが必要ということだったので、コマンドプロンプトを管理者権限で立ち上げて、実行しましたがエラーになりました。 エラーメッセージは以下です。 モジュール "~~~~\xxxxx.ocx"の読み込みに失敗しました。 バイナリが指定されたパスに格納されていることを確認するか、バイナリまたは保存.DLLファイルに問題ないか調べてください。 指定されたプロシージャが見つかりません。 これは、実行するには他にも必要なファイルがあるということでしょうか?
Zuishin

2018/03/21 00:19

ocx を指定するパスが間違っているだけではありませんか?
Kunihiro_Narita

2018/03/21 01:51

xxxxx.ocxが必要としているランタイムDLLが実行環境に無い場合も「xxxxx.ocxの読み込みに失敗しました。」というエラーになります。xxxxx.ocxが必要としているDLLやOCXを調べて、それらも実行環境にインストールしてください。
teketeke2283

2018/03/21 03:30

Zuishin様 確認しましたが、指定するパスは合っているようです。 Kunihiro_Narita様 ご回答ありがとうございます。 ご指摘内容のxxxxx.ocxが必要としているDLLやOCXを調べる方法がわかるようでしたら、教えていただけませんでしょうか。調べ方が悪いのか、わかりませんでした。
Zuishin

2018/03/21 04:10

パスが合っているのなら MFC のランタイムが無いのかもしれませんね。 ビルドする時に使ったランタイムと同じバージョンのものをインストールしてみてください。
Kunihiro_Narita

2018/03/21 05:27

Dependency Walkerというツールを使うと参照しているDLLを列挙してくれます。 列挙されたDLLのインストール方法については、別途で調べてください。
teketeke2283

2018/03/22 16:31

Kunihiro_Narita様 ツールを使い依存のDLLを調べ、インストールしようとしましたが、対象のDLLも同様のエラーが出て、インストールできませんでした。ランタイムのインストールで解決しました。ありがとうございました。 Zuishin様 下記サイトよりランタイムを入手し、インストールしたら解決しました。ありがとうございました。 https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads 追加の質問になるのですが、他の端末で動かしたいときは、ビルド時と同じランタイムのインストールと動かしたいocxのインストールが事前に必須になるのでしょうか?
Zuishin

2018/03/22 16:35

必須です。 インストーラの主な仕事です。
teketeke2283

2018/03/29 13:16

迅速な回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問