VS2005によるWindows CEアプリケーション開発:組み込み開発環境としてのVS2005(後編)(4/4 ページ)
組み込み開発環境としてのVS2005(後編) 今回は、Windows CEアプリの作成を通して、Visual Studio 2005の組み込み開発の流れや機能を紹介する
ネイティブコードアプリケーションの作成 II
ワークスペース作成後のアプリケーションの実装作業は、Visual Studio IDEで行う。
「MFC スマート デバイス アプリケーション」の「ダイアログベース」では、空のダイアログボックスを1つ持つ単純なアプリケーションワークスペースが自動的に生成される。生成されるソースコードファイルは、アプリケーションクラスの宣言、定義ファイル(CXXXApp.h、CXXXApp.cpp)、ダイアログクラスの宣言、定義ファイル(CXXXDlg.h、CXXXDlg.cpp)およびリソースヘッダファイルである。
GUIとハンドラの実装
ダイアログボックスへのコントロール配置とメッセージハンドラの実装を行う。ここでもマネージドコードアプリケーションと同様、ダイアログボックス上のボタンが押されたときにダイアログボックスを閉じる実装を行う。ツールボックスから「Button」を選択し、ダイアログボックス上にドラッグアンドドロップする。
追加したボタンをダブルクリックすることで、ダイアログクラスに対象コントロールのクリックハンドラが追加される。以下の例は、ハンドラ内にダイアログを閉じる「EndDialog(0);」を実装した様子である。
ネイティブコードアプリのビルドとデバッグ
ビルドは、Visual Studio IDEの[ビルド]−[XXXのビルド]メニューで行う。メニューを選択すると、IDE下部の出力ウィンドウにビルドログが出力され、正常にビルドが完了すると、
ビルド:1正常終了または最新の状態、0失敗、0スキップ
と表示される。
デバッグ版/リリース版モジュール、ビルドプラットフォーム、実行デバイスについても、Visual C#同様にVisual Studio IDEで選択できる。Visual C++では、ビルドプラットフォームを選択してからビルドすることになる。ここには、選択したSDKに含まれているプラットフォームの一覧が表示される。今回は「Pocket PC 2003」SDKのみを選択しているため、「Pocket PC 2003(ARMV4)」しか表示されていない。また、複数のプラットフォーム向けモジュールを作成する場合は、プラットフォームごとにビルドを行う必要がある。
アプリケーションのデバッグについても、操作はVisual C#と同様である。Visual Studio IDEの[デバッグ]−[デバッグ開始]メニューを選択するとPocket PC 2003 SEのエミュレータが起動し、ステップ実行などのデバッグが可能となる。
マネージド/ネイティブコードアプリ開発の違い
マネージド、ネイティブコードアプリケーションの開発方法をそれぞれ説明した。実装する言語の違いを除いて、Visual C#、Visual C++で異なる操作はビルドプラットフォームの選択とワークスペースのプロパティ編集、クラス、フォームの追加など言語ごとに概念が異なる部分のみとなっている。極力共通化できる操作は同じIDE上で行えるようになっている。Visual Studio .NET 2003+eMbedded Visual C++ 4.0のときは異なるIDEになっていたため、それぞれの操作を行う必要があったが、Visual Studio 2005では操作の共通化が図られている。
本原稿の執筆中に、ウィルコムがWindows Mobileを採用したSmartphone端末を発表した。Windows CEはほかのプラットフォームと比較して優れたアプリケーション開発環境が提供されており、コンシューマや企業などさまざまな開発者が、通常のWindowsアプリケーションと同じ感覚でデバイスアプリケーションを作成できることが隠れた特徴ともいえる。現在は、C/C++のようなネイティブアプリケーション以外に、C#やVB.NETなどの新たな開発言語/開発環境によってデバイスに依存しないアプリケーションを開発することが可能となっており、Windows CEは開発者により親しみやすいプラットフォームとして日々成長している。
今回は、Visual Studio 2005に合わせて上層アプリケーションの開発手順について説明してきた。機会があれば、より組み込み市場色の強いリアルタイム性に注目したアプリケーション開発について触れてみたいと思う。(完)
関連キーワード
Visual Studio | Windows CE | 組み込み | Windows XP Embedded | .NET Compact Framework | Windows Embedded
Copyright © ITmedia, Inc. All Rights Reserved.