2004/08/22(日)Delphi ListView挙動色々

・ListView.Canvas.Brush.Color

等を変更した場合、

ListView.Canvas.Refreshしないと反映されないことがある。再現性は不明。とりあえず、心に留めてテスとしながら作っていくほか無いようだ。

・ListViewにはDoubleBufferedプロパティがある。結構ちらつきに効きます。こんなの知らなきゃ分からないですよ。

・Brush.Style を bsCross等にして、ListView.Canvas.FillRectするとなぜか十字線の隙間が真っ黒に!
Pen.StyleをpsClear(透明)にして、Canvas.Rectangleするしかなさそう…… 何だろうこの仕様。

・ListViewのデフォルトの表示に何か付け足そうと思ったら、すなおにListView1.CustomDrawItemを全部書いた方がよい。なぜかというと、ListView本来の描画に重ね書きするのは存外に難しいのだ。この際、OwnerDraw := True, OwnerData := True, で、OnDataには何も書く必要はない(OnDataは本来のListViewの表示にオリジナルのデータを載せたいときのもの)。CustomDrawItemで、DefaultDrawをFalseにしておく。

・OwnerData等の時、OnSelectItemで送られてきたItemのItem.Indexを取るとAccessViolationするようだ。仕様は不明だが、OnMouseDown等で座標から辿るか、ListView1.Focuced等で逆から辿ることで代用する。

・ListViewでOnColumnClickが2回連続で発生してしまっていた問題。原因はListViewのWndProc(ウィンドウプロシージャ)をオリジナルの物で上書きしていたから。これは、確か多値チェックを実現するために導入したはずだったが、現在は必要なくなっていた。この部分を削除すると正常に1回発生に戻った。他のイベントが正常だったため原因の切り分けに時間がかかった。起こらないようにするための手法は分かっていない。WINDOWS APIをよく理解していない所為で、本来なら真っ先に勉強しなきゃいけないのだが、今そんな時間がない。分からなくてもやっていくしかない。

2004/08/22(日)ハードディスクパスワード

2004/08/22 4:00 PC(全般)
体験ではなく、ちょっと興味がわいて調べてしまったのでメモ。

IBMノート等などで設定できる、ハードディスクパスワード、スーパーバイザーパスワードはHDD基盤、マザボ上のフラッシュロムなどに書き込むらしい。どういうことかというと、電池抜いてほったらかしとかでは解除できないということだ。

現実的にこれらを解除する方法は、BIOSの逆アセンブルかブルートフォースアタックしかないだろう。

要するに安いからってジャンクに手を出す前に、一歩立ち止まって考えようということ。まあ普通の人はやらないでしょうけども。

2004/08/19(木)ShellTreeView!

エクスプローラっぽい画面であるところのShellTreeView。

Delphi付属のサンプルタブにある時点でなにやら怪しい気がしますが、6の頃からどうもバグとかがあって評判は悪いです(こういうところがDelphiがメジャーになれない理由)。

んでー、RootプロパティがTRoot型=Stringなのですね。これだと、どうやってマイコンピュータとかをトップにするのか分かりません。実用上というか、初期設定はデスクトップなのでマイコンピュータにしたいだけなのですが…… リファレンスガイド本見ると、rfMyComputerとかで設定できると書いてあるのですが、出来ない気配ですん。で、非常に情報が少ないのもDelphiのマイナスポイント。ML探してもようとして見つかりません。しゃあないので断念です。VCL_BAに書いてないと手が出ないな……

DirectoryListBox,DriveComboBoxを使うことにいたしましょう。いや実際速度的な話ならこちらの方が圧倒的に早いです。アイコンイメージを読み込まないですし、検索にも行かないので。問題かなと思うのは、長いディレクトリで横スクロールバーが出ないと。うーん。

2004/08/18(水)ComicStudio印刷ミス多発

2004/08/18 16:00 お絵かき
環境設定に於いて、印刷タブ

・モノクロ印刷時に省メモリモードを使用するのチェックを外す
・プリントバッファに転送時に省メモリモードを使用するにチェック

をしないとちゃんと印刷されない気配。

両チェック無し 印刷されず、プリンタ空転
上だけチェック 同上
下だけチェック 正常
両チェック 全面黒印刷

なんだかなあ。

2004/08/17(火)imp-550の怪

2004/08/17 4:00 家電
iRiver製MP3&CDプレイヤー SlimXことimp-550。

ACアダプタに挿して、充電モードにしても充電されていない事件が多発。ちょいと調査。

・現象 アダプタに挿して、再生->停止長押し->充電モードに移行後1分程度で充電画面が消えてしまう。確認してみると、これ以降充電は行われていない。

・試験
1.ファームウェア1.7,1.50b,1.4と試して全部アウト。
2.load default効果無し。
3.再生していると充電はしている。
4.以前は間違いなくこの状態で充電できた。
5.charge functionをdischarge & charge on(放電してから充電)にすると、充電まで問題なく完了。ただし、charge functionの設定は1回ごとに(?)消える。

・搦め手
ガム型2次電池の充電器を捜索。
1.専用充電器だとSony製(BC-9HM,BC-7HT)を発見。9HMが急速充電器。それ以外の仕様が見つからず、2本同時に充電できるかも分からない。その他のは、ほとんどがMD等の付属品。ただ、メーカー製のガム型電池はそれぞれサイズが微妙に異なるらしく、人によってはビニル被膜を剥かなきゃ入らないとかいう記事をいくつかみかける。値段はそれぞれ3k前後。

2.Saitek製、ニュースーパーチャージャーとかいうガム電池対応にも対応した充電器発見。ただしバカ高い。8k前後する。

3.太陽光発電のもの発見。ただこれは結局電池をもう1セット買えということだから本末転倒。どうかと思う。

搦め手全滅。結局、毎回放電設定にするのが正解くさいのです。同様の症状は掲示板でもよく見かけ、大抵iRiverに修理を求めるという対策。iRiverの対応は宜しいらしいので、悩みどこですが、私の場合その他の不具合が出てないのが実は当たりのような気もしてるので、うかつに修理・交換に走ると後悔する羽目になるやもしれません。いやもう、多いんですよ掲示板見てると。故障報告が。

しばらく騙し騙し使ってみます。あと、fw1.7は変な報告が多いので1.50bにしてあります。

2004/08/16(月)超急速充電器 TC-S40

2004/08/16 23:00 家電
テクノコアのTC-S40を買いました。仕様雑感、というか充電時間のメモ。

東芝 1550mAh x 4 で、2時間45分程度。もうちょっと早く終わるはずでは? という気がするものの、今までと比べると雲泥の差。なにより、東芝充電器だと最早満充電でQV-SX8000のバッテリーランプが一杯にならなかったのですが、きちんと真っ白になってます。

問題は\5,500というこの価格ですが…… 代替がなければ出していい値段かも。他の超急速とかだと、メーカー限定になっちゃうしこれで良いと思うんだよなー

そんなわけで、購入目的であるところの利点はばっちり体感できました。熱くならないのもイイネ。

ただ、しばらく使って確認してみないと何とも言えませんけども過充電(というかこいつの場合は暴走?)は怖いので、自宅にいるときしか充電は出来ないです。でも東芝充電だと充電できてないのと変わらないのだ。
さて、一応ざっとメモリ効果とか調べたのでまとうめ。

とりあえず、2chの家電-デジカメ&家電に充電池スレ有り。
参考、こことか。
http://www.geocities.co.jp/HeartLand-Icho/4112/Digicame/Ni_Hd.html

不活性化-自己放電により電流が流れにくくなる現象。見かけ上容量も電圧も下がる?
メモリー効果-継ぎ足し充電により電池容量が見かけ上下がっていく現象。
自然放電-ニッケル水素電池の場合30~50%/月程度放電してしまいます!

理解は間違っているかもしれないが、おおざっぱこんな感じでいいと思う。メモリー効果は実際気にしなくても良いらしい。せいぜい10%くらい? 一般にメモリー効果と思われているものは、安全第一or適当検出で一杯まで充電しない充電器の問題だそうな。

問題になるのは不活性状態だとか。TC-S40だと、大電流で充電するためにこいつの活入れが出来るらしい……

リチウムイオンならこういった現象はおこらないですが、充電器の自作は私の腕じゃ無理&危険! ファイナル。

2004/08/14(土)Thunderbird 設定

2004/08/13 27:00 PC(全般)
メーラーMozilla Thunderbirdの設定のお話。

機能は必要十分、OEのフリーウェアによる置き換えとしては最有力な選択肢の一つ。

さて、
メールの送信者の名前が日本語で、メールに日本語が使われていないと、送信者が文字化ける問題。

どうやら、
オプション、作成、メッセージの編集、8ビット文字を含むメッセージについて"Quoted-Printable"MIMEエンコードを使用する、にチェック。

これで大丈夫。

このソフト、仕様、機能、速度などに特別目を見張るものはないけれども、大きな欠点がないのがよい。
さて、個人的に欲しい機能・新着メールがあるフォルダをマーキングはありやなしや。拡張にあるかもしれない。

しかしデフォルトで送信サーバを統一するようにしているのは初めて見る仕様だ。いじれるので問題はないけれども。

2004/08/12(木)Comic Studio-縁取り

2004/08/12 15:00 お絵かき
縁取りしたいところを選択してから、選択範囲の拡張、メニュー-編集-選択範囲の塗りつぶし-透明部分に描画・白。もう1度選択範囲の拡張、選択範囲の塗りつぶし-透明部分に描画・黒。

多分代替手段だと思う。選択範囲を線に、が無いはずはないと思うのだが……
OK キャンセル 確認 その他