福岡寿和 FUKUOKA, Toshikazu 富士通SSL
Windows 98が発売されて1ヶ月以上が過ぎた.
一般ユーザーにとっては幸せになれるOSかもしれないが,果たして開発者にとってはどうだろう.
とくにVisual Basicデベロッパーにとって,Widows 98は平穏をもたらしてくれるOSとなるのだろうか…
![]() |
|
![]() |
Windows 98が発売されました.これからのプレインストールモデルには当然Windows 98がインストールされています.そこで,Visual Basic 4.0とVisual Basic 5.0それぞれの動作確認をしてみたいと思います.
もちろん,本誌9月号の古橋本音堂“巻頭版”にあるように,Visual BasicとWindows 98の両方に含まれているファイル群が存在するので,配布は,それらのファイルを抜いた形でしか実現できません.つまり,Windows 98で作成したアプリケーションは,Windows 98が走るマシンにしか配布できないということです.
Windows 95には開発環境でテストした上記のファイル群が存在しないか,存在してもバージョンが古いため,開発環境と同一の環境にはならないので,配布先でのアプリケーションの正常動作は誰にも保証できません.ですから,これからの話は,開発環境も稼動環境もWindows 98の場合に限定された話だと思ってください.
そんなことを確認して,何か良いことでもあるのかと思われるかもしませんが,OSが新しくなっても開発ツールのバージョンを上げられないことが開発現場では往々にしてあります.マイクロソフトが公式に「動作保証しない」と明言してくれたらよいのですが,なかなかそういった状況は生まれません.そこで,実際に動作させてみて,また,インストールされたファイルの状態から考察してみて,Visual Basicユーザーが幸せでいられるかどうかを検討してみたいと思います.
そう思っていたらhttp://www.microsoft.com/japan/developer/win98vs.htmに「Microsoft Windows 98へのマイクロソフト社製開発ツールの対応について」が掲載されました.内容を要約すると,
もうすでに暗雲立ち込めた気がします.
とりあえず,Windows 98が一番幸せな状態で稼動するように,FAT32でフォーマットして新規インストールし,動作確認をしていきたいと思います.なお,Windows 98は,MSDN Developer Platform for East DISC19 July,1998を使用しました.
![]() |
|
![]() |
マイクロソフトのWebページに「Visual Basic 4.0開発環境(16ビット版,32ビット版共)は,Windows 98環境上では使用しないでください」と書かれてしまったので,もうすでに“幸せではない”と結論が出てしまった感もありますが,とりあえずインストールしてみます.
|
の順番でインストールしました.
その結果,リスト1のファイルが,Visual Basic 4.0の再配布可能ファイルよりもWindows 98の方が日付が新しいことが判明しました.また,新たなOCXも含まれています(リスト2).
| リスト1:Windows 98で更新されているVisual Basic4.0再配布可能ファイル | リスト2:Visual Basic 4.0では再配布権限がないOCX |
COMCTL32 OCX 604,432 98-06-12 20:01 COMCTL32.OCX CTL3D32 DLL 45,056 98-06-12 20:01 CTL3D32.DLL MFC40 DLL 933,888 98-06-12 20:01 MFC40.DLL MFC40LOC DLL 40,960 98-06-12 20:01 MFC40LOC.DLL MSVCRT20 DLL 274,432 98-06-12 20:01 MSVCRT20.DLL MSVCRT40 DLL 344,064 98-06-12 20:01 MSVCRT40.DLL ODBCJT32 DLL 245,760 98-06-12 20:01 ODBCJT32.DLL OLEPRO32 DLL 126,976 98-06-12 20:01 OLEPRO32.DLL |
AMOVIE OCX 167,184 98-06-12 20:01 AMOVIE.OCX ASCTRLS OCX 91,056 98-06-12 20:01 ASCTRLS.OCX BR549 OCX 35,328 98-06-12 20:01 BR549.OCX EYEDOG OCX 168,960 98-06-12 20:01 EYEDOG.OCX HHCTRL OCX 378,880 98-06-12 20:01 HHCTRL.OCX IELABEL OCX 129,264 98-06-12 20:01 IELABEL.OCX IEMENU OCX 73,472 98-06-12 20:01 IEMENU.OCX IETIMER OCX 77,728 98-06-12 20:01 IETIMER.OCX MARQUEE OCX 75,520 98-06-12 20:01 MARQUEE.OCX PLUGIN OCX 83,776 98-06-12 20:01 PLUGIN.OCX TDC OCX 73,120 98-06-12 20:01 TDC.OCX DAXCTLE OCX 150,528 98-06-12 20:01 DAXCTLE.OCX HHOPEN OCX 20,992 98-06-12 20:01 HHOPEN.OCX IMGADMIN OCX 106,496 98-06-12 20:01 IMGADMIN.OCX IMGEDIT OCX 331,776 98-06-12 20:01 IMGEDIT.OCX IMGSCAN OCX 121,856 98-06-12 20:01 IMGSCAN.OCX IMGTHUMB OCX 115,712 98-06-12 20:01 IMGTHUMB.OCX MMEFXE OCX 156,160 98-06-12 20:01 MMEFXE.OCX PROCTEXE OCX 70,144 98-06-12 20:01 PROCTEXE.OCX WSHOM OCX 132,368 98-06-12 20:01 WSHOM.OCX |
インストールは無事終了することができるようなので,付属サンプルを一通り動作させてみたところ,操作性がWindows 98ライクになってしまったこと以外は,とりあえず動作はしているようです.しかし,データマネージャの機能を一通り動作させて終了させるとページ違反で落ちてしまう(図1)ので,DAOまわりは結構危ないかもしれません.
つまり,ランタイムモジュールの互換性の問題があるときは,このように一見正常に動作しているようで,実は綱渡り的に動作していることを意味しています.
【結論】
“Windows 98を取るかVisual Basic 4.0を取るか,二者択一が必要である”
![]() |
|
![]() |
Visual Basic 4.0と異なり,Visual Basic 5.0では,開発環境,実行環境共に大きな問題は発見されていないようです.
しかし,
|
しかし,リスト3のファイルについては,Windows 98の方が日付が新しいことが判明しました.
| リスト3:Windows 98で更新されているVisual Basic 5.0再配布可能ファイル | |
ASYCFILT DLL 131,072 98/06/12 20:01 ASYCFILT.DLL COMCTL32 DLL 604,432 98/06/12 20:01 COMCTL32.DLL MFC42 DLL 954,128 98/06/12 20:01 MFC42.DLL MSVBVM50 DLL 1,355,776 98/06/12 20:01 MSVBVM50.DLL OLEAUT32 DLL 503,808 98/06/12 20:01 OLEAUT32.DLL OLEPRO32 DLL 126,976 98/06/12 20:01 OLEPRO32.DLL STDOLE2 TLB 16,896 98/06/12 20:01 STDOLE2.DLL VB5JP DLL 81,946 98/06/12 20:01 VB5JP.DLL |
ここでの最大の問題点は,MSVBVM50.DLLとVB5JP.DLLというVisual Basic 5.0のランタイムルーチンそのものが更新されている点です.
考えられる理由とそれの影響としては,
【結論】
“Windows 98が絡んできたときにVisual Basic 5.0ユーザーが幸せになるには,Windows98で開発して,Windows 98で実行するようにしていく必要があると思われる”
![]() |
|
![]() |
ツールは,特定のOSをターゲットとして開発されてきます.ですから,ターゲットとしたOSに悪影響を与えるわけにはいかないので,十分な検証が行なわれている可能性があります.
しかしOSは,前バージョンとの互換性と差別化には注意を払っているでしょうが,そこで稼動しているツールを含むソフトウェアすべてに対して検証を行なうのは実際不可能なことです.
結果,OSがバージョンアップされると,そこで稼動するソフトウェアは対応版としてバージョンアップする,という関係にあります.見た目や機能はまったく変わらなくても,動作保証を得るために,開発サイドではチェックと修正を行なっているのです.そのことが,Visual Basicをはじめとする開発ツールにもあてはまってしまいます.ですから,そのツールを使って開発を行なっていくためには,新しいOSに対応したSP(サービスパック)やバージョンの登場を待つか,新しいOSの利用を待つ必要があるのです.
このことは今に始まったことではなく,過去にも繰り返されてきました.そして,これからも多かれ少なかれ,そういったことが発生すると思われます.なぜなら,OSのバージョンアップに伴なうオフィス製品やツール製品のバージョンアップは,マイクロソフトだけが行なってきたわけではなく,汎用機の世界やUNIXの世界でも有り得た話なのです.
しかし,なぜWindowsの世界ではこれほど問題視されるのでしょうか.それは,
互換性問題や障害未対応の問題も確かに重要ですが,3.の問題は,開発現場でお客様のOSに対応したツールが手に入らない,という問題に発展してしまいます.それだけではなく,新しくマシンを購入し,ツールを勉強しようとしたときにうまく動作しなかったら,せっかくの意欲を大きく削がれるようなツマヅキになってしまいます.
Windows,OfficeそしてVisual Basicの発売時期を図2のようにまとめてみるとわかるように,このような空白期間は以前にもありました.しかし,今回は,16bitから32bitへの変更や,VB5.0が発売されるまで,NT4.0で動作保証された開発ツールがなかったときよりも状況は厳しく,Windows 98プレインストールマシンに対応した開発ツールが存在しないのです.
一刻もはやく(でも,致命的なバグの少ない)開発ツールの発売を心待ちにしています.
図 2:Microsoft製品のリリース歴![]() |
![]() |
|
![]() |
私はあえて,開発ツールが出そろうまでは,Windows 98プレインストールマシンの導入を待った方がよい,と提案することにします.
そのころまでには,Windows 98無償アップグレードのマシンが値下がりしているでしょうから,そのマシンを購入し,Windows 95で快適なVisual Basic 5.0開発を経験しておきましょう.そして,Visual Studio 6.0が発売されたら,
として,クリアなWindows 98環境を構築して,快適なVisual Basic 6.0開発を体験してください.もちろん,Windows 95のままでVisual Basic 6.0を使うのもよいでしょう.ただし,Windows 95 + IE4.xの組み合わせよりも,Windows 98の方が安定しているのは,みなさんご存知の通りです.
私はといえば,Oracle環境が対応されるまでWindows 98は導入しません.もっとも,モバイル用のノートPC以外はWindows NT 4.0(SP3またはOP1)の環境がメイン環境なので,今回の騒動にはあまり影響を受けていません.
ただ,今回も含めた今までの流れから考えると,NT5.0が発売されるときには,どうしたらいいのだろうと少し不安になっているのも事実です.