PPC

リソースから画像が取れない

リソースにpng画像を放り込んで、そうすると、勝手にプロパティを作ってくれて、そのプロパティでは、ResourceManager.GetObject() を実行して、リソースを取りだしてくれます。 で、.Net Compact でやってみると、NotSupportedException が出ました。メッセ…

__security_cookie が参照できない

PPC

error LNK2019: 未解決の外部シンボル __security_cookie が関数 ... で参照されました。 __security_cookie は、バッファオーバフローチェックをする関数だそうです。 プロジェクトプロパティで C/C++ / コード生成 のタブで バッファセキュリティチェック …

zlib for CE

PPC

http://www.tenik.co.jp/~adachi/wince/zlibce/index_j.html よくぞ用意してくれました。

地図を読み込ませてみる

地理院が持ってる道路地図を1市分(ポリライン3万レコード程度)を片っぱしから読み込ませてみたところ、デスクトップで VB .Net で作ったプログラムでは、1秒程度。PDAでほぼ同じソースコードのプログラムを使って読み込むと20秒、あとCで書いて読み込むと10…

.Net Compact 2 では COM を素直に食ってくれた

PPC

ATLプロジェクトを作って、ATLシンプルオブジェクトを作成。この際、スレッドモデルは「フリー限定」みたい。適当に作った後、コンパイル。 VBスマートデバイスのプロジェクトを作成→コンパイルしたdllを食わせると、勝手にインポータが動いて、VBから使える…

スレッドに悩まされるの巻

PPC

GPSを受信して適宜イベントを出すというのをやろうとしていて、最初は .net compact framework 2 でやってたのですが、過去のイキサツのため、dnfw 1 でやり直す。 と、COMM関係のコンポーネントが存在しませんでした。気付けよ…。 ということで、P/Invokeを…

VC++にはまろうとしている

PPC

これまで、VC++を使うのは、単純DLLを作るまでにとどめていましたが、VC++でグラフィックベースの物を作る必要に迫られているっぽい。 .Net compact Framework 上で、ベクタデータを拾ってピクチャボックスに書き込んでみたところ、えらく時間がかかったため…

クライアントを作ってみる

テンプレートをこんなかんじに書き換えます。もうHTMLなんか微塵もありません。 imgsize : [mapwidth] [mapheight] imgxy : [center] imgext : [mapext] img : [img] これを受信して、img に示される画像URIを叩いて画像を取得するという寸法。 クエリ文字列…

ceappmgr.exe を使う

PPC

まず、iniファイルを作ります。ceappmgr.exe の引数に、その ini ファイルを使います。 http://www.microsoft.com/japan/windows/embedded/ce/developer/applications/appdevelopment/appinstall30.asp あたりを参照。ウェブにしては長大な文章ですが CeAppM…

新しいPDAがやってきた

PPC

PPC2002のキカイから Mobile 5.0 のキカイに更新。 画面がきれいし、スピード早いし、wceload.exeないし orz これまで母艦からファイルをコピーして、PDAサイドの wceload.exe を実行していましたが、これができなくなっちゃったみたいです。 ということで、…

いつまでたっても慣れない

.Net Compact Framework には XmlSerializer がありません。 少なくとも、1.1 にはありません。 XmlReaderを使って、てめえでシリアライズ/デシリアライズをやってたのがいい加減アホくさいなあと思ってたんですが、こと Compact Framework の場合は正解だっ…

WinCE 4.2 では DirectDraw があると

PPC

http://www.microsoft.com/japan/windowsmobile/pocketpc/techpapers/WinCE_vs_PPC/guide_8.asp でもやらない。

フォームをモーダル風にモーダレスであげる方法

いつも Sub Main をスタートポイントにしていたのですが、今回はダミーのフォームを上げました。 ダミーのフォームを上げる 目的フォームからの終了時通知を受け取るためのメソッドを用意 Vieible=False にする 目的のフォームをあげる Deactivateイベントハ…

GPSのフォーマット

ずっと前に発見したけどURLを忘れたので、ここにメモ 「NMEA-0183フォーマット」 http://bg66.soc.i.kyoto-u.ac.jp/forestgps/nmea.html

.net compact framework でシリアル通信のサンプル

PPC

http://www.microsoft.com/japan/msdn/vstudio/device/cfxsamples.aspインストールすると、「スタート」→「.NET Compact Framework Samples」→「SerialTest.sln」でソリューションが開きます。

センタリングしたかっただけだから…

PPC

http://d.hatena.ne.jp/yellow_73/20041028 関連みたいなかんじ。要は Graphics.DrawString でセンタリングしたかったんですが、GetDC とかも必要無いんですね。Graphics.MeasureString 使えばよかった。 なんか損した気分だにゃあ。

waveIn*** がよく分からん

http://d.hatena.ne.jp/yellow_73/20050422 の続き。 バッファを2重化して、WIM_DATA をつかまえたら、一杯になったバッファをファイルに書き出して、再び waveInPrepareHeader + waveInAddBuffer でバッファに追加するというワザを使ったところ、waveInRes…

アンマネージからのコールバックが効かない

waveIn*** を P/Invoke で呼ぼうとして、コールバックできないかやってみたところ… 完全な .net framework ならできて、.net compact framework ではできませんでした。またかよ orz で、 Microsoft.WindowsCE.forms.WindowMessage で、ウィンドウメッセージ…

アセンブリのクラスを動的にロードする

こんなかんじのクラスで読み込めました。 Class DynamicLoadSettings Public gsPath As String Public gsType As String Public Function CreateObject() As Object Dim asmLoad As System.Reflection.Assembly = _ System.Reflection.Assembly.LoadFrom(gsP…

キャプチャツールを使ってみる

PPC

PDAの画面キャプチャツールを探していて、見つけました。ImageServer http://hp.vector.co.jp/authors/VA004474/wince/wince.htmlPDAで簡易HTTPサーバを上げて、画面キャプチャができるものです。 本当にHTTPサーバになってる。すげー。 サーバ停止を受け付…

SYSTEM_INFO のメンバ

PPC

スマートデバイスのプロセッサの種類を知りたくて、CeGetSystemInfo で SYSTEM_INFO を取ってくるコードを書いていたら、wProcessorArchitecture が 4096 になりました。 Marshal系で失敗してる、きっとしてる、とびくびくしてたのですが、本当は違いました…

ポイントからピクセルへの変換

PPC

ポイントは論理サイズ、ピクセルは物理サイズ、ということで、画面の物理サイズと論理サイズの比を取らなきゃいけません。CEだと、この比は、P/Invoke なり使って、APIを叩いてとってきます。 具体的には GetDC で、デフォルトのデバイスコンテキストをとっ…

モジュール定義ファイル

DLLを作るとき、次のようなファイルを作ります。 LIBRARY foobar.dll EXPORTS func1 func2 で、これをリンカに認識させる必要があります。 VC++6 とか eVC++ とかの場合には、次のようにします。 メニュー:プロジェクト→設定 リンク タブ→プロジェクトオプシ…

CABファイルが作れない…

PPC

失敗したので、ぐぐってみたところ、どうも日本語があるとおかしくなるもよう。参考 http://bbs.wince.ne.jp/ch10/mqbbs.cgi?&FILE=bbs.log.139&MODE=MSG&NUM=7143でも、プロジェクト名とか実行ファイル名に日本語を入れてません。 なんでだろうと思ったら、…

スマートデバイスへのインストールは…

PPC

解決してみる。CeCreateProcess で実行するのですが、実行ファイルが分からなかったのが問題なわけで、ちょっと冷静になって、Windowsフォルダ内のexeファイル名を検索語でぐぐってみたら、wceload.exe でした。 wceload.exe

スマートデバイスへのインストールは…

PPC

CeCreateProcess を使おうとしましたが、どうも EXE でないといけないくさい。 自前では行わずに、ローカルでインストーラを実行するようにします。

CeRapiInitEx の使い方

CeRapiInit は、タイムアウトチェックができません。 Public Enum WAIT_STATUS WAIT_FAILED = -1& WAIT_OBJECT_0 = 0 WAIT_ABONDONED = &H80& WAIT_ABONDONED_0 = &H80& WAIT_TIMEOUT = &H102& End Enum public Structure RAPIINIT Public cbSize As Int32 P…

今日は学習したことが無かったなあっと

PPC

これまでの知見(なんかいまひとつ適切でないような気もする)を使って、PDAサイドの時刻をデスクトップの時刻にあわせるのをやって、PDAサイドのフォルダ作成やファイルを書き込みをデスクトップでやるってのをやりました。 あ、学習したことがあるやん。ス…

CeRapiInvokeのまとめ(ブロックモードのみ)

PPC

次の条件を満たすAPIが対象 DllMain()を持たない DWORD,BYTE*,DWORD*BYTE** の引数を持つ CeRapiInitで可(CeRapiInitExでないといけないと書いてるサイトあり) ブロックモードとストリームモードはCeRapiInvokeの第7引数をNULLにする(ブロック)か有効なポイ…

今日やったこと

PPC

CeRapiInvoke の、PDAサイドのDLLは、DllMain()を持たせるといけないらしい。DLLまわりはよく分からないので、これ以上のことは言えません。 coredll を Invoke できないのとも関係あるのかなー? それで、前2つの引数と最後の引数を抜いたものでAPIを書けば…