開発/言語ソフト ここが見所、さわり所

            〜Microsoft Visual C++ 4.0〜        山本 淳

 1月26日にマイクロソフト株式会社から、Windows 95とWindows NT 3.51のアプリケーション開発のための新しい言語製品「Microsoft Visual C++ 4.0」(以下、VC4)が発売された。同24日の「Windowsテクニカルセミナー」でも、発売直前情報として簡単な解説があったので、お聞きになった方も多いと思う。すでに製品を入手されて32ビットアプリケーションの開発に入られているだろうが、今回は、VC4の新機能について簡単に紹介する。

 昨年2月だったと思うが、前バージョンである「Microsoft Visual C++ 2.0」(以下、VC2)が発売され、日本でも本格的な32ビット開発環境がようやく整備された。やはり当時のセミナーで内容を紹介して、とくにOLE関係製品の開発に向けた関心が高まった。1年が経ち、ご存知のように昨年末のWindows 95フィーバーと年明けのWindows NT 3.51ほかのMicrosoft BackOffice製品群の投入、さらには言語製品として待望の「Microsoft Visual Basic 4.0」(以下、VB4)の発売など、マイクロソフトから続々と新製品が発表されている。
 今回のVC4は、Windows 95とWindows NT 3.51への対応と、他の開発製品群との統合環境の提供、企業内での生産性向上を目指した再利用性へのアプローチ、データベースへの接続機能、OLE Custom Control(OCX)サポートなど、盛りだくさんの新しい機能が提供されている。
 まだ日本のWebサイトには、新製品の情報がほとんど掲載されておらず、ニュースリリースがあるだけである(http://www.microsoft.co.jp/info/releases/vc++4-126.html)。米国本社のWebサイトの充実ぶりからすると、寂しい気がするので、是非一度チェックしてもらいたい(http://www.microsoft.com/visualc/)。

 手元に届いた製品のパッケージを開けると、
・Visual C++ チュートリアル
・Getting Started (Visual C++ 1.5用英文マニュアル = 一部日本語)
の2冊のマニュアルと、
・Microsoft Visual C++ Development System and Tools Version 4.0
・Microsoft Visual C++ Power Tools for MS-DOS and Windows Version 1.51
の2枚のCD-ROMが同梱されたシンプルなものである。最近のマイクロソフト製品は、必要な情報はすべてオンラインヘルプなどのファイルで提供し、必要であればマニュアルは別途購入となっている。以前のパッケージがとても片手で持つことができないほど重く大きく、ほとんど使われることがないマニュアルで占められていたことから考えると、ずいぶんありがたい。

 英語版では、VC4に同梱された16ビットアプリケーション開発環境が"VC++ 1.52c"までバージョンアップされているが、日本版での表記は"1.51"となっている。ただし、過去の製品においても、移植対象となったベースとなる英語版と日本語版製品のバージョン表記は必ずしも一致しないことが多かった。基本的には、最新版が提供されていると信じるしかない。以前から比べて、英語版提供からほとんど遅れることなく、日本語版が販売されるようになったことだけでも、うれしいことといえる。

 ついでに触れておくと、以前セミナーやNIFTY-Serveの会議室で紹介したことがあるが、北米や欧州で実施されている「Visual C++ Subscription」(定期購読 = 一定の料金で、マイナーバージョンアップ製品が自動的に送付されてくるサービス)は、今回も見送られたようである。先日のセミナーで講演されたMSKK・豊田様の私見では「必要であれば、バージョンアップ製品を販売する」とのことだった。開発者にとって、ツールのバグやMFCなどのライブラリの問題は、開発に大きな支障をきたすので耐えがたいものである。先日うちの会社でもOLE関係で誤動作していた原因が、ライブラリの障害であることが判明し、調査時間の多くが本来は必要ないはずだった、ということがあった。日本でも"Subscription"サービスが開始されることを望みたい。

 今回の開発プラットフォームは、32ビット版がWindows 95とWindows NT 3.51、16ビット版がWindows 3.1を加えた構成となっている。同じCD-ROMからDOS/V版とNEC PC-9800版が導入可能となっている。 以前のVC2では開発・実行の両面で問題のあったWindows 95が正式にサポートされ、本格的なアプリケーション開発が加速すると思われる。
 「チュートリアル」マニュアルには、「Windows 95の仕様への準拠」という構成で、Windows 95ロゴを取得するのに必要なアプリケーションの開発手法が簡単に紹介されている。

 VC4のCD-ROMをWindows 95マシンに挿入すると、自動的にautorunが実行され、VC4をはじめとする各種ツールのセットアップや、機能紹介のAVIファイルの参照などが簡単に選択できるようになっている。

・Visual C++ 4.0のセットアップ
・Visual C++の機能紹介
・CDの内容確認
・MFC移行キット
・DAO SDK
・InstallSHIELD
・Crystal Reports
・スタンダードテンプレートライブラリ

 「DAO(Data Access Object) SDK」は、「チュートリアル」マニュアルでも簡単に触れられているが、VB4でもサポートされた新しいデータベースアクセス機能、「InstallSHIELD」は、「Microsoft Setup」に代わる新しいアプリケーションのセットアップツールで、Windows 95のセットアップなどにも利用されている。「Crystal Reports」は、米国で有名な帳票印刷ツールである。別に発売されるソース管理ツール「Microsoft Visual SourceSafe」なども同様に、社外の優良な会社を買収したり、いいツールの権利を買って、VC4のような基本ツールに統合してしまうというマイクロソフト戦略のしたたかさが現れている。

 VC4をセットアップする際に指定する標準のディレクトリが、"MSVCxx"から"MSDEV"に変更されている。実際に起動するとよく分かるが、今回の新機能の一つである統合開発環境としての変更要素である。別製品である「Microsoft Fortran Power Station」(日本語化は未定)、「Microsoft Visual Test」、「Microsoft Development Library」(MSDN Level 1-3)、「Microsoft Visual SourceSafe」と協調して、"Microsoft Developer Studio"として動作する。別々の製品が、一つの統合開発環境として機能するので、アプリケーションを意識することなく、ソース生成からクラスの定義、ビルド、デバッグ、テスト、ソース管理までカバーされている。ファイル単位のビューだけではなく、クラス単位やリソース単位のビューも用意されているので、直感的なアプリケーション開発が可能となっている。ただし、機能的にはうれしいが、前回のセミナーでご覧になったように、画面が非常にビジーで、少なくともSVGA(800×600以上を推奨しているが、実際は1024×768以上)の解像度がないと苦しい。

 再利用性や生産性の向上という観点からは、"コンポーネントギャラリ"と呼ばれる新機能が提供されている。再利用が可能なC++コンポーネントや、内部処理を隠蔽したOLEコントロール(OCX)、ユーザー定義のC++クラスなどを、簡単に開発中のソースコードに埋め込むことができるようになった。スケルトン生成時に組み込むことを忘れた機能もあとから追加することができる。Microsoft拡張としてのスプラッシュスクリーンや、システム情報の追加、チップスなどが用意されており、Microsoft Office製品と似たアプリケーションが作成可能となっている。Windows 95に対応したマウス右ボタンによるポップアップメニューもサポートしている。
 また、"カスタムAppWizard"によって、標準のAppWizardが生成するテンプレートC++スケルトンコードを拡張したり、"WizardBar"によるメッセージハンドラの追加機能などが用意されている。
 ますます開発ツールが強化され、開発者の負荷は軽くなってきている。昔のように、すべてのコードを一晩かけて入力して、隅から隅まで自分のコードで埋め尽くさないと納得できないような開発というのは、少なくともMMIを持ったユーザーアプリケーション開発という世界からは消えていくのかもしれない。

 MFC(Microsoft Foundation Class)も4.0に拡張され、Window 95のコモンコントロールや、OLEカスタムコントロール(OCX)の利用が簡単にできるようになった。今後VC4やVB4で作成したコンパクトで高性能、高機能なコントロールが続々登場してくることが予想されている。米国などからもインターネットを通じて簡単に入手可能となるだろう。セミナーでもお話したが、有効なコントロールが存在しているかを知っていることが、アプリケーション開発における開発者の負荷軽減に大きな意味を持ってくるようになる。
 また、C++言語仕様の拡張や、インクリメンタルリンク・インクリメンタルコンパイル・最小リビルドといった開発ツール関係の改良によって、開発者が受けるメリットは大きいといえる。

 NIFTY-Serveなどの書き込みを見ていると、ボツボツVC4でのヘルプが出てきている。海外のVC関連のメーリングリストでは、活発な議論が行われている。Windowsコンソシアムの活動の中でも、32ビットアプリケーションの開発や、OLE・OCXの対応について、会員各社からいろいろな意見を聞いている。ようやくWindows 95をターゲットにしたアプリケーションの開発が本格化してくると予想される。VC2を使うと出ていたいくつかのトラブルは、VC4によって解消されている。少なくとも開発ツールは最新のものを揃えておいた方が、多少のデメリットには目をつぶっても、享受できるメリットの方が大きいと思う。

 前回のセミナーで、Pentium Note PC上でのVC4の製品版の動作がおかしいという問題もあり、受講された方々には大きな迷惑をかけてしまった。準備不足という批判も多かったし、製品版の品質が心配という懸念を表明された方もいた。マシンが借用品だったので、結果については確認していないが、少なくとも私のオフィスでは、VC4は快調に動作していることを付け加えておく。
 セミナーのアンケートでも、情報交換の場がほしい、もっと専門的な内容のセミナーを望む、といった意見が少なからずある。Windowsコンソシアムの活動に期待しているということだろうが、事務局サイドの努力だけでは実現できないことも多く、皆が当事者として活動に協力していってほしい。情報交換のためにメーリングリストやFTPサイトを用意する必要があるのなら、喜んで環境を提供して協力したいと考えている。セミナーで開発の苦労話をしていただける方がいれば、もっとバラエティに富んだ内容に充実させることも可能であろう。要は皆で盛り上げるWindowsコンソシアムなのだから...。

富士ソフト株式会社 技術調査室 室長
【yamamoto@fsi.co.jp】


    Contents         Windows Consortium ホームページ