- - PR -
前編では、Visual Studio 2005(以下VS2005)の組み込み開発機能を紹介した。後編では、実際にWindows CEアプリケーションを作りながら、開発の流れや各機能について解説する。
マネージドコードアプリケーションの作成
まず、マネージドコードアプリケーションの開発手順を説明する。マネージドコードアプリケーションは、Visual C#とVisual Basicで開発できる。今回はターゲットデバイスとしてPocket PC 2003 SEエミュレータを利用し、Visual C#を使用する。
プロジェクト/ワークスペースの生成
Visual Studio 2005(以下VS2005)を起動したら、Visual Studio IDEのメニューで[ファイル]−[新規作成]−[プロジェクト]を選択する。これで、以下の「新しいプロジェクト」ダイアログボックスが表示される。
![]() |
| 画面1 「新しいプロジェクト」ダイアログボックス(画像をクリックすると拡大します) |
C#でWindows CE用アプリケーションを作成するには、「プロジェクトの種類」ツリービューで[Visual C#]−[スマートデバイス]を選択する。Windows CE用のアプリケーションを作成する場合は、この下に展開される種類も選択する。今回は「Pocket PC 2003」を選択し、「テンプレート」として「デバイスアプリケーション(1.0)」を選択する。
ちなみに、「〜(1.0)」が付くテンプレートは.NET Compact Framework 1.x上で動作するアプリケーションワークスペースを作成し、「〜(1.0)」が付かないテンプレートは.NET Compact Framework 2.0上で動作するアプリケーションワークスペースを作成する。
テンプレートの選択が終わったら、「プロジェクト名」とプロジェクトファイルを格納する「場所」を入力する。[OK]ボタンを押すと、Visual C#のワークスペースが作成される。ワークスペース作成後のアプリケーション実装作業は、Visual Studio IDEで行う。
GUI作成とハンドラのコーディング
「デバイスアプリケーション」テンプレートでは、空のフォームを1つ持つ単純なアプリケーションワークスペースが自動的に生成される。生成されるファイルは「Form1.cs」である。
![]() |
| 画面2 生成されたアプリケーションワークスペース(画像をクリックすると拡大します) |
ちなみに、.NET Compact Framework 2.0アプリケーションを作成した場合は、「Form1.cs」と「Program.cs」が生成される。.NET Compact Framework 1.xと2.0では、生成したアプリケーションの初期クラス構成が若干異なっている。1.xではクラス構成は「Form1」クラスのみで、「Form1」クラスにはアプリケーションのメインエントリポイントのMain()メンバ関数が含まれる。それに対して2.0では「Form1」クラスと「Program」クラスが生成され、「Program」クラスにアプリケーションのメインエントリポイントのMain()メンバ関数が含まれる。
フォームへのコントロール配置やメッセージハンドラの実装は、従来のVisual Studioとさほど変わらない。例えば、フォームにボタンを張り付け、ボタンが押されたときにフォームを閉じる実装を行う場合、初めにツールボックスから「Button」を選択し、フォーム上にドラッグアンドドロップする。
![]() |
| 画面3 フォームにボタンを配置したところ(画像をクリックすると拡大します) |
追加したボタンをダブルクリックすることで、フォームクラスに対象コントロールのクリックハンドラが追加される。画面4は、ハンドラ内にフォームを閉じる「this.Close();」を実装したところである。
![]() |
| 画面4 クリックハンドラに「this.Close();」を実装(画像をクリックすると拡大します) |
関連記事 設計/開発技法
- 特集:Javaは組み込みに“不向き”は本当か?
- 連載:BREWアプリケーション開発入門(全10回)
- 連載:イチから作って丸ごと学ぶ! H8マイコン道(全12回)
- 連載:−ザ・組み込み−ソフトウェアのハードウェア化(連載中)
- 連載:組み込みLinux開発入門(全3回)
- 連載:T-Engineプログラミング入門(全4回)
- 連載:Symbian OS開発の勘所(全10回)
- 連載:Symbian OSアプリ開発の手引き(連載中)
- 連載:解説! ロボット開発環境Robotics Studio(全4回)
- 連載:Robotics Studio活用術 はじめて作るサービス(全5回)
- 連載:生産性向上への道 Eclipseで行うC/C++開発(全4回)
組み込み開発フォーラム 新着記事
- フルスクラッチの“Hello World”を動かしてみよう(2011/3/31)
- FlexRayプロトコルの概要(その2)(2011/3/29)
- JASA、東北地域に拠点を置く会員企業を支援(2011/3/25)
- NEC、震災の影響を受けた4拠点の生産再開を発表(2011/3/23)
- 内部ブロック図の基礎と共通要素(2011/3/22)
- インテル、被災地におけるITインフラの復旧を支援(2011/3/22)
- Facts on AUTOSAR/AUTOSAR導入の現実(2011/3/18)
- 計測器・震災被害ホットラインを開設、テクトロニクス(2011/3/18)
- ZMP、地震の揺れを多角的に計測するアプリ無償配布(2011/3/16)
- メンター、3Dテレビ・マルチメディア検証プラットフォーム(2011/3/16)
- 【番外編】タチの良い計測値、悪い計測値とは?(2011/3/15)
- tarファイルシステムをAndroidに組み込む!!(2011/3/10)














