.net

.net Compact Framework2.0に足りないもの

まぁ、いろいろ足りないのですが、とりあえず、「ブログレス表示」ぐらいはほしいです。あの、起動時とかに出る4色の回転、実はプログラムで出せません。 あと、できるならサウンド再生機能ぐらいはほしいなぁ。複雑なことやらせたいんじゃないんだけど。ち…

.Net Micro Framework

まだ詳細読めてませんが、いつか出ると確信していました。 VM上だけでOSの機能を一通り持つという、ぶっちゃけ、組み込み用のSqueakみたいな環境ですよね。.Net Micro Framework上で動くスマートフォンとか出たら絶対買いです。初期バージョンは激しく不安定…

.Net Compact Frameworkアプリの起動中のShellExecute()(http://vsug.jp/tabid/63/forumid/50/postid/4597/view/topic/Default.aspx)

……という質問をVisual Studio Users Groupのフォーラムに投げて1週間。 さすがに似たようなところにひっかかった人は少ないらしく、リプライは(解決しない)1件のみ。 いや、解決しないのは、この際仕方ないとしても(下手すると単なる仕様のような……)、…

.Net Compact FrameworkとMobile DirectX上でのグラフィックリソース

24bit PNG Imageとしてはロードできない。Textureとしてはロード可。ただし、アルファチャンネルをもたないこと(ロード時にException)。 8bit PNG Imageとしてはロード可。Textureとしてはロードできない。カラーキーは使用不可(無視され、元の色で表示る)…

GlobalMemoryStatusについて(id:tnoho:20060521#1148175962)(id:Florian:20060517#1147836783)

出来ました。 原因としては、 GlobalMemoryStatus()の引数にrefがついていない 事のようです。 ……うわーん、嘘書くなよー>MSDN ありがとうでした>id:tnohoさん せっかくだから流行のPowetStatusでもやってみるかな。

さらにあがいてみる

public class AnyObject : List { public AnyObject() { } public AnyObject(int data) { this.data = data; } public int data; public void Select(Selector anSelector, Executor anExecutor) { foreach (AnyObject anAnyObject in this) { if (anSelecto…

匿名メソッドをブロックのように使ってSmalltalkのselect:みたいなEnumeratorを

public class AnyObject : List { public IEnumerator Select(AnyObjectSelector anAnyObjectSelector) { foreach (AnyObject anAnyObject in this) { if (anAnyObjectSelector(anAnyObject)) { yield return anAnyObject; } } } public delegate bool AnyOb…

Dotfuscator

機能制限版がVisual Studio 2005におまけで付いてきてるとは気づかなかった(^^;)。 ま、このバージョンはGeneric関係が全然Obfuscateされないので、あんまり使えないけど。

Compact Frameworkの資料

http://www.gotdotnet.com/japan/quickstart/CompactFramework/ http://www.microsoft.com/japan/msdn/mobility/prodtechinfo/devtools/netcf/FAQ/ 知ってたら結構楽できたところがいくつか。ま、苦労しないと覚えないよね(負け惜しみ)。

.Net Framework雑感

アプリケーション本編部分はそこそこ簡潔に書くことが出来ますし、Visual Studio 2005の強力なIDEで快適に開発できます。リモートデバッガが強力なのでデバッグもかなり容易です。 ……でもなー、いろんな意味で、Javaにはだいぶ及んでいないなぁ、というのが.…

でも

とりあえず、あきらめて左右、上下端の独自実装。.Net Framework使い始めてからこんなのばっかり(^^;)。 ともあれ、予定していたところまではたどり着きました。 MSILと.Net Framework2.0と、C#のGenericを使ったゲームエンジン ゲーム部分ソース/リソースは…

Graphics.DrawImage(Image,Rectangle,Rectangle,GraphicsUnit)の描画条件

デスクトップ向け.Net Frameworkでは、WidthもしくはHeightがマイナスで、なおかつ左端、上端が描画先のクライアント領域を超えているときには、そもそも描画もなされないようです。 こんな感じ。 aGraphics.DrawImage(aImage,new Rectangle(0,0,100,100),ne…

.Net Compact FrameworkからGlobalMemoryStatus()を呼び出す

デバイスの残りメモリを取ろうとこんな事をしてみました。 MSDNのサンプルによると public struct MEMORYSTATUS { public uint dwLength; public uint dwMemoryLoad; public uint dwTotalPhys; public uint dwAvailPhys; public uint dwTotalPageFile; publi…

3Dアクセラレータ搭載のPocketPC

ATI Imageon HP iPAQ hx4700 Intel 2700g Dell Axim X50v,X51v あと、GeForce由来のチップもあるみたいですが、PocketPCは見つからず。 Imageonの昔のバージョンはSL-Zaurusにも積んでましたね。あれは3Dアクセラレーションは積んでなかったうえ、アクセラレ…

Mobile DirectXのTextureLoader.FromStream()

なんで、jpeg以外は必ず謎の「Exception」になるんだよー(^^;)。 Mobile DirectXって、何かというと派生しない「Exception」を投げっぱなして理由を推測させない傾向にあるなぁ。 しかし、ロードに成功しても表示は出来なかったり。 さて、なぜかなぁ。 (追…

サウンド出力

.Net Framework2.0にはサウンド入出力クラスが(一応)あるのですが、もちろん.Net Compact Frameworkにはそんなものはなくて、ネイティブAPIをたたく羽目になります。 ただ、WindowsCEのAPIは、専用構造体にバイナリでデータを入れるとかが多いので、マーシ…

Compact FrameworkのMicrosoft.WindowsCE.SystemSettings.ScreenOrientation続き

Exceptionが起きたら同じスレッド内で一定時間待ってから再度設定し直すという気持ち悪い方法で一応動くことを確認。イベントハンドラの中でまつってのは行儀悪いんだけど……。 それはともかく。 待っているうちにExceptionが起こらなくなるのはいいのですが…

Compact FrameworkのMicrosoft.WindowsCE.SystemSettings.ScreenOrientation

謎のExceptionが出ます。 /// /// クライアント領域の大きさが変更された際のハンドラ /// /// protected override void OnResize(EventArgs e) { base.OnResize(e); if (SystemSettings.ScreenOrientation == ScreenOrientation.Angle0) { } else { SystemS…

ankhsvn(http://ankhsvn.tigris.org/)

Visual Studio .Net用のSubversionプラグインankhsvnが、気がついたらVisual Studio 2005にも対応していました。 むむ。忘れないうちに確認せねば。

Visual Studio 2005の「オブジェクトブラウザ」と「コード定義ウィンドウ」

すげー!萌え!これで直接コードが触れれば文句なし! ……はっ、気がつくとSmalltalk風に環境がなってるなぁ(^^;)。(追記)「タブグループ」を作って、あらかじめそっちにソースを開いておけば、似たような環境になるみたいです。便利! ……でも、ソリューショ…

中身を持たない、汎用のEnumerator

空コレクションに対するEnumeratorを返すとき専用の空Enumeratorってないのかなぁ。いかにもありそうなんだけど。 ま、いいや、作るだけならすぐだし。

命名規則

.Net Frameworkでいろいろ設計していますが、ペゾルド本と、MSDNのクラス詳細を元に命名しています。 曰く、以下な感じ。 基本的にCamel(大文字を文節の区切りと見なす) クラスは「大文字始まり」 外部に公開されているメソッド、プロパティは「大文字始まり…

はまったこといくつか

多次元配列のLengthは全要素分を返す たとえば、 int[2,3] は、「6」を返します。長いことJavaを使っていたせいでジャグ配列と同じものとしてみちゃってました(^^;)。Javaにはそもそも多次元配列にあたるものがないですけど。 しばらく悩んだ末、デバッガで…

「Attributeを適用する」

MTA(Multi Threaded Apartment)ではOLEを介した何かが出来ない、ということで、STA(Single Threaded Apartment)にプログラムを直すことになりました。 さいわい、以前読んだApplication Domainの説明の中でThread Apartmentの話がいっしょに載っていたので理…

VM経由のアプリ実行

昔からバイトコードVMという考え方が結構お気に入りだったりしてはいたのですが、MSIL(.Net Frameworkで使っているバイトコード)経由でアプリを動かしたりしていると、結構いろいろと思うところが出てきます。 Javaもかなり気に入っている環境なのですが、今…

調べてみていろいろ訂正

Microsoft.WindowsMobile.Forms 有り体に言って「画像とカメラ」を扱うクラスそのものでした。しかし「画像とカメラ」ってWindows Mobile 5.0の組み込み機能だったんだ。知らなかった。 Microsoft.WindowsMobile.Configuration ConfigurationManagerという機…

.Net Compact Framework 2.0においてSIPに対応したアプリの作り方

SIP(Software Input Panel)は、キーボードのついていないWindowsCE端末では入力のために無くてはならない物です。具体的には「手書き文字入力」や「キーボードパネル」などのタッチパネル上の入力機器を表します。 SIPは、WindowsCEの世界では、画面の一部を…

調べてみていろいろ訂正 つづき

Microsoft.WindowsMobile.Status 「設定」はほとんど出来ないのですが、その代わり、ほとんどの情報に対して変化のハンドラを付加できます。なので、 バッテリーの状態が変化したらアクションを起こす ToDoの状態が変化したらアクションを起こす 電話がかか…

非矩形のクライアント領域のControl(id:Florian:20060416#1145158841)

いつぞやの疑問の解決編。 Regionプロパティで結構作れそうです。Regionは不定形でも行けるので。 しかし、Formならば、透明度(Opacity)まで指定できるのにControlはダメなのかぁ。 ま、どのみち.Net Compact Frameworkでは使えませんけど。

BitmapクラスとImageクラス

.Net FrameworkにはImage.FromStream(Stream)という便利なインスタンスゲッタがあるの(Compactにはないけど、Bitmap(Stream)コンストラクタで同様に作れる)ですが、なんか、しみじみマニュアルを読むとこんな記述が……。 Image の有効期間の間は、このストリ…