開発環境として利用しているX61 Tabletのファンが、どうもガタガタしているようで、唸りが混ざったような音になってきた。
少し埃を落としてみたものの、唸りは消えず。
本体を傾けると唸りに変化があるため、軸ブレしているっぽく、部品交換の必要性があると感じたが、冷却ファン交換ってオフィシャルだと2万円くらいするらしい。
一応、同型予備は1台あるので、修理に出すのには問題無いんだけど、高いよ。
保守部品だけ売ってくれんかなぁ・・・
なんか、できそうだったので、やってみた。
元ソースは過去のC/C++コード。
非同期パケットダンプがちょっと固まりやすいけれど、一応できた。
#固まるってのは、Rawパケ採取にBackgroundWorker使ってんだけど、激しいProgressChangedによって、Form描画が詰まっちゃってるっぽい。←応急処置入れたので固まりにくくなったと思う。
あと、停止時に例外出るのは仕様。
一応、実行ファイルだけ置いておく。
OverSsl使った場合、ちゃんと暗号化されていることが、視覚的に分かるぞ。
さすがに、XP以降じゃないとダメかも。
要.NET Framework 3.5だし。
IPv6でも動くかも知れないけど、未確認。
#IPv6ヘッダ解析はIPアドレス部分だけ入れてあるつもりだけど。
(追記)実行には管理者権限が必要です。
とりあえず、フルマネージコードでRawパケ採取できることが分かったことは収穫。
いつからかは定かではないけれど、キータイプ属性値に変更があったようで。
CUS と Custom Key の両方に対応してはじくようにしたので、変更前でも変更後でもOK。
本当はもっと効率がいいXSLT記述があると思うけど、個人的には、元XMLに手を加えることなくテーブル表示できるだけでいいので、これで十分かつ超便利。
そして、アドインを登録しようとして、重大なエラーとやらが出る。
Heap blockなんとか~ってエラーだとわかり、解放時のエラーらしいというのは分かったのだが、デバッグモードでトラップするのは、非常に困難。
これで、何とか原因を突き止めることができる。
今回の問題は、デバッグ実行時の引数にアドインを指定してると呼び出されない関数にあったので、はじめはわけが分からなかった。
#現在リリースされているものとは違うコードです。
こういう手法に気付くまでが大変だけど、コードや呼び出し履歴を掴めれば、どこの何が原因かを判別するのが容易になる。
ま、PRですし、既出ですが。
まずは、OverSsl Clientをインストールして、↓こんなふうに設定を追加しますよ。
ま、気にする人はいないだろうけど、メモがてら。
ま、こんなところか。
円周率は出せているし、絶対値も現状用意済みの内部関数を呼ぶだけ。
あとは数値化だが、これも何とかなったっぽいので、これで、出せる・・・と思うのだが、デバッグモードで実行すると、例外がボロボロ出るところがあるので、原因を調べてからにしたい。
数値化はとても便利かも知れない。
#現状、Excelには255文字以上の数値文字列を数値化する関数が無い。
64bit版もできるんだけど、これは要望か何かがあるなら考えるけど、メジャーバージョンアップまで非公開の予定。
と、声に出して言いたい。
パイと言っても円周率(π)ですが。
いや~、スタティックライブラリのリソースからロードするのって、結構難しいですね。
あと、ちょっとリソースファイルの編集について、インクルードを処理するのは、リソースビューで開いて、「リソースファイルのインクルード」でやると簡単だったことをメモしておく。
で、πですが、こんな感じ。
しかし、もし、仕様ならば、仕方ないし、そうじゃなくても、現状そうならばそうで対処するしかない。
#回避策があるのならば、それに頼る。
##回避策が無いのに、不具合を仕様と言っちゃう(再起動したところで、再現を繰り返すだけ)のは愚かなだけだが。
とりあえず、関数の説明は同梱のPDFにお任せしちゃうことで、無しにすることは不可能ではないので、それで対応してみる。
さて、円周率3万桁、ちゃんと出るかはこれから確認。
例のXLLSDKをやっと取り込んだんだけど、やはり引数なしでうまくいかない。
サンプルだと引数なし関数の登録がうまくいくのかと思っていたのだけれど、試しに関数の説明まで出そうとしたところ、引数ありになってしまうことが分かった。
関数の説明を端折ると、引数なしとして登録できる。
これは誰のせいなのか、全く分からないのだけれど、Excelのせい?なのか・・・よくわからん。
とりあえず、Excel2003でも2010でも挙動が同じだったこと、VS2008でもVS2010でも結果は変わらなかったことをメモとして残しておく。
いやはや、さて、困ったぞ。
本読んでもこのあたり書いてないんだよなぁ・・・
あと、文字列(関数の説明以降)の最後1文字が切れるのも俺のせいじゃないらしい。
そういえば、引数なし関数がうまく登録できないとき、関数の引数んとこに空白1文字入ってるっぽいんだよね。
余分な1文字と無くなる1文字で辻褄は合ってるのか・・・?
んー、英語版Excelで試してみるか・・・
最近のコメント