過去雑記

旧鯖時代の雑記です。新しいの。リンク切れに注意。


2007: 12345678910
2006: 123456789101112
2005: 123456789101112
2004: 456789101112

過去雑記

2007/9/5(水)

Type.IsAssignableFrom()22:04:22

TypeがTを継承しているか調べるType.IsAssignableFrom()ってのがあります。名前よく見ればわかるんですけどこれ、typeof(Super).IsAssignableFrom(typeof(Divide))のように使用するんですね。初め逆に使ってはまりました。個人的には逆のほうがすっきりするのですが。。。

コメントはありません。

2007/9/13(木)

散財23:24:33

らきすた#5, おとぎ銃士赤ずきん#2, スケッチブック#4, スコアブック, ぷぎゅる#6。月初めだというのに今月買うの多すぎです。このほかにも後数冊予定が。。。

コメントはありません。

2007/9/17(月)

Marshal.GetDelegateForFunctionPointer()01:07:00

長々と書いてましたが裏が取れないので簡潔に。GetProcAddress()を使用して動的に関数ポインタをとってくることになったのですが、関数ごとに一々専用のメソッドを定義するのもめどいのでMarshal.GetDelegateForFunctionPointer()を使って変換しようということになりました。で、このMarshal.GetDelegateForFunctionPointer()ですがやたら名前が長いわけですね。実際はさらにキャストも行う必要があるのでさらに長くなります。これは美しくないとジェネリックを導入して次のようなヘルパメソッドを用意しました。

T GetProcAddress<T>(IntPtr hDll, string funciton) where T:class {
	IntPtr p = GetProcAddress(hDll, funciton);
	return (p == IntPtr.Zero) ? null
		: Marshal.GetDelegateForFunctionPointer(p, typeof(T)) as T;
}

これは意図したとおり動くのですが、Tの型制約にSystem.Delegateが指定できないので関係ない型も通せてしまいます。これ何とかならないですかねぇ。もっと言えばP/Invokeの定義にジェネリックが使えるようになるといいのですが。。。

コメントはありません。

2007/9/24(月)

Nucleus入れてみた09:32:48

もう他人様のツールでいいじゃないかということでNucleusを入れてみたのですが、これ改行するたびに<br />を挿入する(設定でOn/Offのみ変えられるようですが)のでp要素を使いたい場合改行せずとかの運用はプラグイン使う必要があるようです。タグが使えるってことで<>のエスケープも行われないようですし。とりあえずいじり倒してみてからですが、トップページに最新の記事一覧を表示することができるなら移行したいと思っています。こいつは動的にページを生成するようなのでちょっと骨が折れそうですが。

コメントはありません。

2007/9/30(日)

散財23:50:45

新感覚癒し系魔法少女ベホイミちゃん#1, ぱにぽに#10, まぶらほ〜じょなんの巻・に〜

ベホイミ特装版あったんですね。気づかなくて普通の買ってしまいました。迂闊。しかしこのベホイミ、ぱにぽにより面白いです。そういえば同じスピンオフもののまろまゆはどうなったんだろう。。。

コメントはありません。

goto Top

Copyright(C)方位記号