現在ActiveXコントロールのアプリを作成(修正)
しています。
開発環境
OS: XP(SP2)
visualStudio6.0(SP5)
実行環境
OS: XP(SP2)
デバッグ環境では正常に動作するのですが、
OCXファイルを作成して、
ブラウザ上で実行するとどうもうまくいきません。
(修正前のアプリは正常にブラウザ上で動作する)
現状としましては
・IEのセキュリティはActiveXのダウンロードを許可。
・バージョンは修正前のリビジョンに+1を設定。
・ダウンロードするOCXファイルは C:\WINDOWS\Downloaded Program Filesのフォルダに
ダウンロードされてくるがインストールはされていない(状態が不明となる)
・clsIDをリナンバーしても動かない。
・修正前の状態から再度OCXファイルを作成するだけで
も動かない。
・OCXをコンポーネントとして登録できない
・開発環境、実行環境をwin2000にしても
同様の結果です
自分で思いつく事はすべてやってみたのですが、
うまくいきません。
なにかアドバイスでも何でもよいので
いただけないでしょうか?
No.3ベストアンサー
- 回答日時:
何はともあれ動作するようになったとのことで、良かったです。
さてclsidの件ですが、「他のソフトウェアから見て使用方法が同じに見えるプログラムに対しては同じclsidを割り振る」のが基本です。例えば、従来のプログラムに不具合があり、プロパティ・メソッド等のインターフェースは変更しないが不具合だけは解消したという場合はclsidは変えませんが、機能を追加してプロパティやメソッドが増減したような場合にはclsidを変えます。
<object>タグ内のclsidを変更したところ動作するようになったとのことですが、そうだとすれば、全く同じ状態で<object>タグ内のclsidとOCX内に記述しているclsidを元の値に戻し、レジストリに登録されたclsidも以前の値にすればやはり同じように動作するはずです。当初clsidを同じにしても変更しても動作しなかったのは、おそらく開発の手順が整理されていなかったため、適切な段階でOCXのレジストリへの登録作業が行われなかったためではないかと思います。
なるほど、おっしゃるとおり
バタバタしたまま開発を進めててました。
次回からは今回のことを教訓にします。
xcrOSgS2wYさん、本当にありがとうございました。
No.2
- 回答日時:
「そんなこと当然じゃないか」と憤慨されるかもしれませんが、念のため何点か確認させてください。
(1) 「デバッグ環境では正常に動作するのですが、OCXファイルを作成して、ブラウザ上で実行するとどうもうまくいきません。」という点ですが、ここでいう「デバッグ環境」と「ブラウザ上で実行」では、全く同じOCXファイルを使用しているのでしょうか。
(2) 「デバッグ環境」と「ブラウザ上で実行」は、具体的にはどのように違っているのでしょうか。例えば、デバッグ環境とブラウザ実行環境は物理的に異なるPCでしょうか。あるいは、デバッグ環境とはブラウザを使用しない何らかのテスト環境で、同一PC上でもブラウザを使うとうまく動かないのでしょうか。
(3) 質問の中に「修正前の状態から再度OCXファイルを作成するだけでも動かない。」とありますが、ソースファイルやプロジェクトファイル、コンパイルオプションに一切修正を加えずにただリビルドしただけのOCXファイルでも動作しないのでしょうか。
(4) デバッグビルドとリリースビルドの両方とも動かないでしょうか。それとも、どちらか一方は動くでしょうか。あるいは、特定の環境であれば動く場合があるでしょうか。
(5) OCXの登録操作はどのように行っているでしょうか。登録用のinfファイルは別途用意されているでしょうか。
この回答への補足
xcrOSgS2wYさん、返答ありがとうございます。
まず返答から。
私の説明不足ですいません。
(1)まったく同じOCXファイルです。
(2)同じPCです。
(3)そうです。
(4)逆に質問させていただきたいのですが
VS6.0のOCX作成時にその指定をどうするのですか?
(知識不足ですいません、たしかVS.netではあったとおもうのですが・・・。)
(5)infファイルは用意していません。
それで
xcrOSgS2wYさんのご指摘をうけ、自分なりに
問題点の整理ながら考えていたら
動くようになりました。
修正した箇所は(5)で指摘していただいた
OCXの登録操作のところが間違えていました。
具体的に言うと<object>タグに書く
clsidが間違えていました。
修正したときはclsidをリナンバーしたのですが、
(本来はリナンバーせずにうまいこといくと思ってま した。)
リナンバーをGUIDGEN.exeを直接実行してナンバリン グしていたのですが、レジストリの中からプロジェ クト名+コントロール名で登録された項目から
GUIDを引っ張ってきたら、うまいこと動くようにな りました。(これって当たり前のことなんですよ ね?)
まだ自分では納得行ってない部分があるのですが、
そもそも
ActiveXコントロールを修正する場合は、そもそも
clsid(GUID)をリナンバーしなければいけないものな んですかね?
リナンバーしなければならいのであれば、
まったく別のアプリという扱いになるので
バージョン管理って意味がないと思うし、
結果的に動くようになりましたが、
動かなかった原因?
今回の自分の修正方法が正しいのか?
間違ってるのか?
たまたまうまく動いただけなのか
が自分では判断できません・・・。
今回の私の修正方法
clsidを振りなおすというのは
ただしいのでしょうか?
No.1
- 回答日時:
おおもとのOCXはどのような環境で、どのようにして作成したものなのでしょうか。
その環境や作成方法との違いを確認してみてはいかがでしょうか。
この回答への補足
xcrOSgS2wYさん、回答ありがとうございます。
実は初期の開発環境(マシン)は
手元にはなくて
win2000(sp3) visualstudio6.0(sp5)
であろうと想像しか出来ません・・・。
一応その開発環境を再現して
OCXを作成してもうまいこといきませんでした・・。
作成方法もロジックも2,3行追加しただけなので
特に変わらないとおもっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- その他(クラウドサービス・オンラインストレージ) iPadとクラウドの同期はできないですか? 1 2022/05/21 09:34
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- Visual Basic(VBA) M365環境での動作エラー、及び対応相談 1 2023/01/27 04:18
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- ネットワーク 通信量を見たい 3 2023/03/01 07:47
- Windows Vista・XP windows xp proが起動しなくなりました 10 2022/05/20 00:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Mac OS El Capitanがインストールできない… 1 2023/06/16 13:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
デバッグとビルドは何が違うの...
-
eclipseでプログラムが実行でき...
-
ソリューションをまたがるデバ...
-
ビルド時のエラー(書き込みで...
-
Visual studio2017で、2回目の...
-
デバッガでステップ実行してい...
-
visual studio 2008 のデバッグ...
-
Visual Studio 2008 SP1について
-
C#、C++間のDLLの呼び出しについて
-
Release版のexeが動きません
-
Visual Studio 2017 ビルドする...
-
VB2005でデバッグ実行できない
-
Eclipseのブレークポイントが○...
-
VBでブックマークを保存する方...
-
Visual Studio 2008 Profession...
-
VBのプロジェクトが開けない
-
VB6のデバッグ
-
C言語での開発でエラーが出て困...
-
vbpが開けない!!
-
VisualStudio Just-In-Time
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
デバッグとビルドは何が違うの...
-
デバッガでステップ実行してい...
-
DLL参照時に指定されたモジュー...
-
visual studio2019でデバッグが...
-
Eclipseのブレークポイントが○...
-
ソリューションをまたがるデバ...
-
VB.netを実行するとデバック プ...
-
Visual studio2017で、2回目の...
-
C言語での開発でエラーが出て困...
-
Visual Studio 2008 SP1について
-
eclipseでデバックするとエラー...
-
ASP.NETでデバッグができない
-
VB6.0を使用しています
-
eclipseでプログラムが実行でき...
-
vb ver6 でformat文やTrim文の...
-
ブレークポイントは現在の設定...
-
VC++でSQL Serverに接続するに...
-
C# リソースに埋め込んだ.exeフ...
-
Visual C#で、usingが出来ない...
-
visual studio 2008 のデバッグ...
おすすめ情報