WindowsMobileアプリ開発のお勉強(予習)

 今日開催される七誌さん主催の「VC# ExpressでWindows Mobile開発」に参加してきます。
 WindowsMobileの開発はやったことないので楽しみです。
 開発環境はWindowsPCと無償で使えるVisual C# Expressで済むのはいいですね。


 事前準備として開発環境を用意しながら簡単なアプリを作って動かしてみました。


● 環境構築

 勉強会の案内にあるように、以下のアプリをインストールします。


0) Visual C# Express
1) .NET Compact Framework 2.0 Service Pack 2 再頒布可能パッケージ
2) .NET Compact Framework 3.5 再頒布可能パッケージ
3) Windows Mobile 6 Localized Emulator Images : 0411/Windows Mobile 6 Professional Images (JPN).msi
4) Microsoft Device Emulator 3.0 (日本語版エミュレータ
(リンクは案内のページを参照)

 0)〜3)はインストーラーの指示にしたがって進めていけばOK
 しかしながら 4) については、インストール中に「vs_emulator.msi」を要求してくるけどパッケージに含まれていない…。とりあえずは使わないようなのでパス


アプリ開発 (C# 2008)

Vesual C# 2008については、七誌さんの記事を参考にすすめてみました。
[C#][Windows Mobile]VC#ExpressでWindows Mobile開発


 「プロジェクト作成手順」の通りやっていけばうまくいきます。
 最初通常のWindowsフォームアプリケーションのプロジェクトとして作成して、Windows用の.Net frameworkへの参照を全部消して代わりにCompact Frameworkを登録するという方法で、Expressの制限を回避します。
 上記手順をおこなうと、大量にコンパイルエラーが発生するので、地道に一つづつ消してく。
 GUIデザイナで操作するたびに「 this.PerformLayout();」が生成されるので毎回消さないといけないのがめんどいけどしかたないですね。(あたらしいコントロールを追加すると未対応のプロパティ設定箇所は全部エラーになるので、消す必要あり)


 ビルドが通るようになると、Windows上で実行できるようになります。
 基本的に、これはそのままWindowsMobileのエミュレータでも動きます。


 エミュレーターを起動して共有フォルダを設定すると、そのフォルダがエミュレータ上のSDカード内のファイルとしてマウントされます。
 エミュレーター内のエクスプローラーから実行ファイルを選択して起動できる。簡単


 起動!

 ほんとに同じExeで動いたー!



 画面のサイズ指定の単位がちがうので、コントロールのサイズや位置が変わっちゃうのがちょっと厄介ですね。
 あと、アプリを「X」ボタンで終了したかとおもったが、実際には終わってない。(裏で動いてる)
 一度起動しちゃうと、再ビルドしようとするとファイル使用中でビルドしっぱいしちゃうので、なんでかなあと思ってました。最初しらなくて、エミュレーターを毎回再起動してた(ぉ


 だいたい動くようになったとこでゲームでもつくるかな・・・と
 PictureBoxを追加・・・したらエミュレーター上では以下のエラーが


HelloWM2008.exe
InvalidCastException
場所
HelloWN2008.FormHello.InitializeComponent()
HelloWN2008.FormHello..ctor()
HelloWN2008.Program.Main()

 勉強会で聞いてみよう・・・



● 2010

 こちらはちょっと参照の設定の仕方が違うみたいで、まだ動いてない。


 さてこれから出発。今日はよろしくお願いします。