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

さてそこで
regsvr32 <path>\VB6IDEMouseWheelAddin.dll
を実行。
上手くいかない、まあ予想はしてましたがね。face07
「RegSvr32」のエラーが出るdiary
「モジュール"c:\......VB6IDEMouseWheelAddin.dllは
 読み込まれましたが、VB6IDEMouseWheelAddin.dll への
 呼び出しはエラーコード0x80004005により失敗しました。」
と出ました。

そもそもこの「VB6IDEMouseWheelAddin.dll」はVB6で作ったもの
VB6で作ったDLLは動かない場合があるのだろう、要注意。

さてそこで困った時の「 どこでもホイール 」。icon06
これをダウンロードしてインストール。
ところがこれも訳のわからぬエラーが出て終わる。
しかしVB6のコードはちゃんとスクロールされている。(^^
つまり正常にインストールされたのです。

ここで簡単なプログラムを作成して、色々試してみたが、
VB6の開発環境(IDE)はwindows 7上でほぼ動くことを確認。
まあひと安心ではある。

次はいよいよVB6のプログラムがwindows 7上で動作するのか
ということである。
そこで私が作った「FTP忠太」というソフトを起動。
このソフトはVB6ではほぼ無理だというFTPのプログラムを
APIなどを駆使して作成したもので、私に作ったソフトの
中では最も複雑なソフトなのである。

「FTP忠太」を起動、いきなりエラーface08 icon10
「オーバーフロー」しましたと出る。
かなり先が暗いface04

仕方なくデバッグ開始、幸いエラーの原因は直ぐわかった。
もともと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と書いてます、あしからず。


(背景の写真はまごころうさん からお借りしました。)



同じカテゴリー(PC)の記事画像
Window10アップグレード
PC購入
Windows Update という名の恐怖(2)
Windows Update という名の恐怖(1)
カルチャーショック
USBの不思議
同じカテゴリー(PC)の記事
 Window10アップグレード (2015-09-11 10:50)
 PC購入 (2015-02-23 11:00)
 忙しい (2013-10-01 20:46)
 Windows Update という名の恐怖(2) (2013-07-02 16:19)
 Windows Update という名の恐怖(1) (2013-07-01 11:50)
 カルチャーショック (2012-12-24 08:30)

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を再起動。
※これで使えるようになるはずです。
Posted by McB5 at 2010年01月27日 11:58
McB5 さん
  Windows 7 上のVB6を全部消してしまいVirtual PC
  のモードで使用していましたが、今VB6を再インストして確認
  してみました。
  おっしゃる通りに見事にインストール出来、VB6でも
  試して問題のないことを確認しました。
  ありがとうございました。
Posted by igoten at 2010年01月27日 19:43
ダウンロードサイトから「FTP忠太」をダウンロードしましたが、まだ「オーバーフロー」のエラーが出てしまいます。
ローカルのツリー構造も正しく表示されません。
正式にはまだ対応されてないのでしょうか。
散々類似のソフトを探しましたが、「FTP忠太」で決めています。
どうか対応お願いいたします。
Posted by お願いしたいです。 at 2010年02月03日 01:07
私のホームページのダウンロードサイトの
「FTP忠太」更新しました。
遅れて申し訳ない。
解凍後FTP忠太.exeだけ上書きしてください。
Posted by igoten at 2010年02月03日 08:14
早速のご対応に感謝しています。
有難うございます。
なのですが、やはりうまく動きません。
起動直後「エラーの原因:プロシージャの呼び出し、または引数が不正です」とだけ表示され、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ソフトをダウンロードしましたがこれらは通常通り表示されていました。
Posted by 続お願いしたいです at 2010年02月04日 11:28
何か一つのファイルが表示出来ないようです。
読めないファイルをスキップするようにしました。
すみませんがもう一度ダウンロードお願いします。
Windows 7の場合は正常なら「User」という
フォルダーが表示されその中がユーザーファイルです。
私もWindows 7で使用してるんですが。
Posted by igoten at 2010年02月04日 16:31
再ダウンロードし無事動作するようになりました!
フォルダやツリーも全て表示され快適に操作できます。
何度も質問し素早い対応に感謝致します。
前回までは出なかったのですが、今回一番初めにツリー表示ボタンを押したときwindowsファイアーウォールが表示され許可を求められ忠太に対してOKしました。
そっちの設定が悪かったのでしょうか。
とにかくこれからは「FTP忠太」の使い方になれて頑張りたいと思います。
このソフトもっと宣伝した方がいいと思いますよ!
本当にありがとうございました!
Posted by ありがとうございました! at 2010年02月04日 19:54
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。