VB6 on Windows7
新しいOS windows7でVB6は使用できるか。
私がインストールしたwindows7は
Windows 7 Professional (x86) - DVD (Japanese)
である。
Windows7のインストールに関してはまた後ほど書くとして
このブログのテーマはWindows7 で「VB6の開発環境は
動作するのか」と言うことと、「VB6ので開発した
プログラムは問題なく動作するか」と言うことについて書く。
まず開発環境のインストールからである。
Visual Basic 6.0, Enterprise Edition (Japanese), Disc 1
Visual Basic 6.0, Enterprise Edition (Japanese), Disc 2
をCDに落してインストール。
ワーニングが一回出たが無視してインストール。
特に問題はなかった。
ここで通常はMSDNをインストールするところだが、VB6が走らなければ
意味がないので、とりあえず開発環境を起動する。
起動の途中で「MSDN」が読み込めないとのエラーが出て起動
出来ない。(XPはそんなことはなかった気がする)
そこで急遽MSDNをインストールし開発環境の再起動、
今度は問題なくIDEは起動する。
そこで今までXP上で開発したVB6のプロジェクトを読み読み込ませる、
問題なく読み込んでコードを表示する。
さてここで何時も問題になるのはコードのマウスホイールに
よるスクロールである。
これは特にwindows7だからどうのこうのではなく、
トラディショナルな問題なのだが。
そこで
『Visual Basic 6.0 IDE でマウス ホイール イベントが機能しない。』
サポート オンライン
を実施する。
ところがこれが結構厄介である、まずWindow 7は「スタート」
メニューの中にデフォルトで[ファイル名を指定して実行] が無い。

このためタスクバーを右クリックして「プロパティ」を表示
その中から、『「スタート」メニュタブ』-> 「カスタマイズ」
を選んでその中の[ファイル名を指定して実行]にチェックを入れる、
これで「スタート」の中に[ファイル名を指定して実行]が表示される。

さてそこで
regsvr32 <path>\VB6IDEMouseWheelAddin.dll
を実行。
上手くいかない、まあ予想はしてましたがね。

「RegSvr32」のエラーが出る

「モジュール"c:\......VB6IDEMouseWheelAddin.dllは
読み込まれましたが、VB6IDEMouseWheelAddin.dll への
呼び出しはエラーコード0x80004005により失敗しました。」
と出ました。
そもそもこの「VB6IDEMouseWheelAddin.dll」はVB6で作ったもの
VB6で作ったDLLは動かない場合があるのだろう、要注意。
さてそこで困った時の「 どこでもホイール 」。

これをダウンロードしてインストール。
ところがこれも訳のわからぬエラーが出て終わる。
しかしVB6のコードはちゃんとスクロールされている。(^^
つまり正常にインストールされたのです。
ここで簡単なプログラムを作成して、色々試してみたが、
VB6の開発環境(IDE)はwindows 7上でほぼ動くことを確認。
まあひと安心ではある。
次はいよいよVB6のプログラムがwindows 7上で動作するのか
ということである。
そこで私が作った「FTP忠太」というソフトを起動。
このソフトはVB6ではほぼ無理だというFTPのプログラムを
APIなどを駆使して作成したもので、私に作ったソフトの
中では最も複雑なソフトなのである。
「FTP忠太」を起動、いきなりエラー


「オーバーフロー」しましたと出る。
かなり先が暗い

仕方なくデバッグ開始、幸いエラーの原因は直ぐわかった。
もともとFTPソフトは自分のPC(ローカルマシン)と
FTPサーバーの両方のファイルをフォルダを表示する
ファイラーが組み込んである、このローカルマシン
のファイルとフォルダを表示する場合、ファイルを
フォルダをAPIで列挙して、その属性で隠しファイル
やシステムファイルを識別し、表示または非表示
を決めているのだ。
この属性はXp等では100以下の数字で返されるのであるが、
windows 7はwindowsのフォルダーを73,744を返していた。
要するに属性を入れていた変数がIntegerで宣言
されていたためにオーバーフローしたのである。
これをLongに変えてOKとなった。
あとはすべて正常に動作した。
結論:
「Windows 7」上でVB6の開発環境(IDE)は正常に
動作すると考えて良い。
ただしVB6で作成したDLLは要注意である。
VB6で開発したソフトは簡単なものはほとんど
動作すると考えてよい。
ただし複雑なものは動かしてみなければわからない。
細かいことだが、「windows 7」は「windows」と「7」の間にスペースを
入れるのが正式である。
が、これ結構書きにくい、間が抜けてしまうのです。
で、windows7と書いてます、あしからず。
(背景の写真はまごころうさん からお借りしました。)
2009年11月06日 Posted byigoten at 13:43 │Comments(11) │PC
この記事へのコメント
こんにちは~(*^_^*)
なんだか、ばたばたしていて、ゆっくりパソコンの前に座ることができませんでした・・。
写真使ってくださって、ありがとうございます<(_ _)>
すてきですね~!!
ありがとうございました~♪
なんだか、ばたばたしていて、ゆっくりパソコンの前に座ることができませんでした・・。
写真使ってくださって、ありがとうございます<(_ _)>
すてきですね~!!
ありがとうございました~♪
Posted by まごころう
at 2009年11月08日 15:51

忙しそうですね、ご苦労様でした。
本当にいい写真ですね。
本当にいい写真ですね。
Posted by igoten at 2009年11月08日 16:31
VB6IDEMouseWheelAddin.dll ですがWindows7(32bit Home Premium)では以下の手順で使えるようになりました。
(1)「スタート」⇒「>すべてのプログラム」⇒「>アクセサリ」
(2)「コマンドプロンプト」を右クリックして「管理者として実行(A)」
(3)コマンドプロンプトの中から「regsvr32 "(パス)\VB6IDEMouseWheelAddin.dll"」
※これで多分登録は成功するはず。
(4)VB6IDE起動⇒「アドイン(A)」⇒「アドインマネージャ(A)」
(5)「利用可能なアドイン」一覧の「MouseWheel Fix」を選択
(6)「ロード方法」の「ロード/アンロード(L)」と「起動時にロード(S)」にチェックを入れ、一覧中の「ロード方法」が「起動時/ロード」になるようにする。
(7)「アドインマネージャ」を「OK」で抜け、VB6IDEを再起動。
※これで使えるようになるはずです。
(1)「スタート」⇒「>すべてのプログラム」⇒「>アクセサリ」
(2)「コマンドプロンプト」を右クリックして「管理者として実行(A)」
(3)コマンドプロンプトの中から「regsvr32 "(パス)\VB6IDEMouseWheelAddin.dll"」
※これで多分登録は成功するはず。
(4)VB6IDE起動⇒「アドイン(A)」⇒「アドインマネージャ(A)」
(5)「利用可能なアドイン」一覧の「MouseWheel Fix」を選択
(6)「ロード方法」の「ロード/アンロード(L)」と「起動時にロード(S)」にチェックを入れ、一覧中の「ロード方法」が「起動時/ロード」になるようにする。
(7)「アドインマネージャ」を「OK」で抜け、VB6IDEを再起動。
※これで使えるようになるはずです。
Posted by McB5 at 2010年01月27日 11:58
McB5 さん
Windows 7 上のVB6を全部消してしまいVirtual PC
のモードで使用していましたが、今VB6を再インストして確認
してみました。
おっしゃる通りに見事にインストール出来、VB6でも
試して問題のないことを確認しました。
ありがとうございました。
Windows 7 上のVB6を全部消してしまいVirtual PC
のモードで使用していましたが、今VB6を再インストして確認
してみました。
おっしゃる通りに見事にインストール出来、VB6でも
試して問題のないことを確認しました。
ありがとうございました。
Posted by igoten at 2010年01月27日 19:43
ダウンロードサイトから「FTP忠太」をダウンロードしましたが、まだ「オーバーフロー」のエラーが出てしまいます。
ローカルのツリー構造も正しく表示されません。
正式にはまだ対応されてないのでしょうか。
散々類似のソフトを探しましたが、「FTP忠太」で決めています。
どうか対応お願いいたします。
ローカルのツリー構造も正しく表示されません。
正式にはまだ対応されてないのでしょうか。
散々類似のソフトを探しましたが、「FTP忠太」で決めています。
どうか対応お願いいたします。
Posted by お願いしたいです。 at 2010年02月03日 01:07
私のホームページのダウンロードサイトの
「FTP忠太」更新しました。
遅れて申し訳ない。
解凍後FTP忠太.exeだけ上書きしてください。
「FTP忠太」更新しました。
遅れて申し訳ない。
解凍後FTP忠太.exeだけ上書きしてください。
Posted by igoten at 2010年02月03日 08:14
早速のご対応に感謝しています。
有難うございます。
なのですが、やはりうまく動きません。
起動直後「エラーの原因:プロシージャの呼び出し、または引数が不正です」とだけ表示され、okボタンで一応起動できますが、やはりローカルのツリーも正しく表示されません。
また、ローカルフォルダ欄の「ひとつ上のフォルダへ」ボタンを押すと「実行エラー’5’ プロシージャの呼び出し、または引数が不正です」と表示され強制終了となります。
使用するのはローカルの特定のフォルダ・ファイルだけですのでそれだけでも表示できればよいのですが。
なにか他に原因は考えられますでしょうか。
あきらめなければならないのは非常に残念です。
有難うございます。
なのですが、やはりうまく動きません。
起動直後「エラーの原因:プロシージャの呼び出し、または引数が不正です」とだけ表示され、okボタンで一応起動できますが、やはりローカルのツリーも正しく表示されません。
また、ローカルフォルダ欄の「ひとつ上のフォルダへ」ボタンを押すと「実行エラー’5’ プロシージャの呼び出し、または引数が不正です」と表示され強制終了となります。
使用するのはローカルの特定のフォルダ・ファイルだけですのでそれだけでも表示できればよいのですが。
なにか他に原因は考えられますでしょうか。
あきらめなければならないのは非常に残念です。
Posted by 続お願いしたいです。 at 2010年02月03日 18:19
すみません、使用しているOSは何でしょうか?
Posted by igoten at 2010年02月03日 18:26
失礼しました。
windows 7のHome Premiumです。
VB6ランライムライブラリーも入れました。
忠太を起動するとまず先述のエラーダイアログが表示されOKを押したのちに忠太GUIが表示されます。
この時のCドライブ内の表示が、
$RECYCLE.BIN(フォルダ)
autoexec.bat
config.sys
Fjuty(フォルダ)
Fujitsu(フォルダ・fujituのパソコンなので。)
hiberfil.sys
しか表示されません。
どれも知らないフォルダ・ファイルばかりで表示されている共通点も分からず。。
いろいろと探してみるのですが、やはり上記以外は表示されていないようです。
PCは素人に近いと思うので、こちらの設定とかが悪いだけなのかもしれませんが、忠太にたどり着くまでに5つほど他のFTPソフトをダウンロードしましたがこれらは通常通り表示されていました。
windows 7のHome Premiumです。
VB6ランライムライブラリーも入れました。
忠太を起動するとまず先述のエラーダイアログが表示されOKを押したのちに忠太GUIが表示されます。
この時のCドライブ内の表示が、
$RECYCLE.BIN(フォルダ)
autoexec.bat
config.sys
Fjuty(フォルダ)
Fujitsu(フォルダ・fujituのパソコンなので。)
hiberfil.sys
しか表示されません。
どれも知らないフォルダ・ファイルばかりで表示されている共通点も分からず。。
いろいろと探してみるのですが、やはり上記以外は表示されていないようです。
PCは素人に近いと思うので、こちらの設定とかが悪いだけなのかもしれませんが、忠太にたどり着くまでに5つほど他のFTPソフトをダウンロードしましたがこれらは通常通り表示されていました。
Posted by 続お願いしたいです at 2010年02月04日 11:28
何か一つのファイルが表示出来ないようです。
読めないファイルをスキップするようにしました。
すみませんがもう一度ダウンロードお願いします。
Windows 7の場合は正常なら「User」という
フォルダーが表示されその中がユーザーファイルです。
私もWindows 7で使用してるんですが。
読めないファイルをスキップするようにしました。
すみませんがもう一度ダウンロードお願いします。
Windows 7の場合は正常なら「User」という
フォルダーが表示されその中がユーザーファイルです。
私もWindows 7で使用してるんですが。
Posted by igoten at 2010年02月04日 16:31
再ダウンロードし無事動作するようになりました!
フォルダやツリーも全て表示され快適に操作できます。
何度も質問し素早い対応に感謝致します。
前回までは出なかったのですが、今回一番初めにツリー表示ボタンを押したときwindowsファイアーウォールが表示され許可を求められ忠太に対してOKしました。
そっちの設定が悪かったのでしょうか。
とにかくこれからは「FTP忠太」の使い方になれて頑張りたいと思います。
このソフトもっと宣伝した方がいいと思いますよ!
本当にありがとうございました!
フォルダやツリーも全て表示され快適に操作できます。
何度も質問し素早い対応に感謝致します。
前回までは出なかったのですが、今回一番初めにツリー表示ボタンを押したときwindowsファイアーウォールが表示され許可を求められ忠太に対してOKしました。
そっちの設定が悪かったのでしょうか。
とにかくこれからは「FTP忠太」の使い方になれて頑張りたいと思います。
このソフトもっと宣伝した方がいいと思いますよ!
本当にありがとうございました!
Posted by ありがとうございました! at 2010年02月04日 19:54