使ってくださってありがとうございます(id:kzou:20060421/1145566268)
力を入れたタブ関係とキーボードショートカットを気に入ってくださってうれしいです。
でも、
EditControlを使っているEditorにありがちな長文を書いて最初の方を編集すると描画に問題あって変換時に遅くなるという問題もありませんし、
えっとその、あります(^^;)。EditControlは、.NetFramework上ではTextBoxクラスと呼ぶのですが、しょせんOSの機能であることには違いありませんので……。
Windows Mobileを使いたそうとすると、どうしてもMicrosoftが仕様として切り捨てた部分がどうしても気になりますね。ソフトウェアの設計として、用途を制限することで使用スタイルを固定することによって、そのスタイルの中では使いやすくするという方針はわかります。
EditControlの容量制限も、FileDialogのサブディレクトリ制限も、「ファイルをたくさん持ち歩かない、一つ一つのファイルは大きくしない」という方針の産物なんだろうなぁ、とは思いますが、いかんせん制限されていなかった環境に慣れちゃってる身からするとどうにも窮屈です。
細かなバグ以外はおおむね落ち着いたので、腰を据えて以下のものでも作ろうかなぁ。
- TextBoxとインターフェース互換の独自文章編集Control
- FileDialogとインターフェース互換の独自ファイル入出力Control
まずは、.Net Compact Framework上で、カスタムコントロールを作る方法を調べないと。
SIM STYLE DD
以前(id:Florian:20060412#1144842841)「機種変更扱いなので手に入らない」と書いたDDですが、なんと、公式通販(Willcom store)にありました(^^;)。灯台元暗し。
PE'Z REALIVE 2005-節 FUSHI-(asin:B000BR2NR0)
ライブ版だから仕方ないんでしょうけど、お風呂場で歌っているような録音でした。
もう少し、こう、何とかならないのかねぇ、PE'Zは。
iAudio M3のクレイドルとACアダプターが届いた
事務所で音楽を聴くときに使っているiAudio M3は、当然ながら一日使っていると夕方には電池が切れちゃうので、適宜USBに刺しながら(その間はPC経由で再生)使っていたのですが、どうにも運用しづらいので、公式通販からモバイルじゃない普通のクレイドルとACアダプタを入手しました。
USBは下手に刺しちゃうと再起動の手間があるので、普段はUSBの口には何もささないでおいて、LineOutだけをTimedomain miniにつないであります。
iAudio M3+クレイドル+Timedomain miniでかなり快適なオーディオシステムになる……ということを考えると、AppleのiPod Hi-Fiは、なるほどうまい商売だなぁと思ってみたり。
Microsoft.WindowsMobile.DirectX.Direct3D.Deviceクラスのnew
W-ZERO3においては、「横画面」だとどんなパラメータであっても失敗します。その上、Exceptionの内容が数字エラーコード(0x80004005:E_FAIL(Unspecified Error))。
原因がざっぱりわからず、午後いっぱいかけてしまいました(;_;)。
悔しいのでC#による初期化コード。
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true;
presentParams.SwapEffect = SwapEffect.Discard;
presentParams.AutoDepthStencilFormat = DepthFormat.D16;
presentParams.EnableAutoDepthStencil = true;device = new Device(0, DeviceType.Default, this,
CreateFlags.None, presentParams);
……え?サンプルと一緒?
でも動くようになるまでむちゃくちゃかかったんですよー(;_;)。
だけでは情報がないので、いくつか。
- Manager.CheckDeviceType(0, DeviceType.Default, Format.R5G6B5, Format.Unknown, true)
必ず失敗します。これは、W-ZERO3にはHALが乗っていないから。でも、Windowss Mobileにおいては、HALがなくてもいいみたい。うーむ。
- sdカード上にデータとバイナリを配置するには
巨大なリソースをアプリだと、配置するだけで本体メモリを使い切っちゃいますが、sdカード上に置けばまずは一安心です。
各プロジェクトの「プロパティ」で
デバイス
出力ファイル フォルダの... を開く
デバイス上の出力場所 の「ルートフォルダ」を選択
サブディレクトリに「miniSDカード\」を先頭に追加
巨大なリソースって……ギャルゲでも作るつもり(笑)?>自分
コントロールライブラリは、DLLの形にビルドされます。手始めに、NotepadWMで使っているクラスをdllにしてみようかな。
人柱募集中(http://florianswiki.dyndns.org/Web/16)
一部クラスを上で書いていた「コントロールライブラリ」の形に直しました。
以下のクラスがDLLとして分かれています。
- TextBoxWM(標準EditControlにどうしても必要な機能だけを付け加えた物)
- OpenFileDialogWM(標準OpenFileDialogのラッパー)
- SaveFileDialogWM(標準SaveFileDialogのラッパー)
野望としては、TextBoxWMの文字入力・編集部分をスクラッチから起こして、長文編集に耐えるようにしたいなぁ……という所ではありますが、まずは、DLLに出来るかどうかを調べるところから始めています。
あと、tGetFile.dllみたいな感じの.Net Framework2.0版みたいなものに、できればしたいなぁ、とか思っていたりいなかったり>OpenFileDialogWM,SaveFileDialogWM
現時点では、一つ前のバージョンと機能的には全く変わりませんが、もし興味のある方は人柱になって下さると涙が出るほどうれしいです。何せ、構造をかなり変えているので、どこにどんなバグが潜んでいるやら……。
もちろん、安定して使う分には、一つ前のバージョン(0.0.0.5)の方がおそらく安定しています。
今日の山手線の車内テレビ
野球中継なんかやってやがって大変迷惑。ニュースを、パズルを、スーパーマリオを返せ。
視聴率の低迷が野球嫌いが増えているせいだということにいいかげん気づけ。
「終了」メニューの不具合
「終了」メニューを選択時、2つ以上連続して未セーブのテキストがあると、ダイアログが出ずに無条件で閉じられてしまいます。
あんまり「終了」を使わないでやってください。すぐ直しますので。
セルフコンパイル
昨日「Javaでセルフコンパイル」なんてなことを言いましたが、Windows Mobileは、実はそこそこ使えるセルフコンパイラがありません。JavaはJeodeやIntentを使えばそこそこ行けそうですが、PocketPC用のバンドルものはあっても、今単体で手に入るものはないし、CやC++やC#などのコンパイラも見つけられませんでした。
Perl,Rubyはありますが、コンソールがろくすっぽ使えないWindowsCEでは本領発揮とは行かず、頼みの綱のSqueakもキーボードが使えない状態((VS2005でリビルドできないかしばらくあがいたのですが、どうにもリンクがうまく行きませんでした))。
単体で暇つぶしにゲームを作るのは難しいかと落胆していたのですが、考えてみれば、ありましたね、GUI環境。JavaScriptってのが。
さいわい、フルブラウザが3種類もそろっているので、環境依存のコードを書いちゃったら、あわてて別のブラウザで見るってこともできるし。
ただ、JavaScriptで作っていると、ファイル分割をする理由はほとんどないのでした。せっかくのマルチテキストは生きませんねぇ……。