メッセージ

2004年08月28日の記事

2004/08/28(土)Ruby動かすまで

Rubyで書いたCGIを動かすにあたり、Apacheの設定は特に追加しなくても通りました。

注意点として、Samba経由だとサクラエディタで保存時に改行コードをLF(Linux)にしないと、

bad interpreter

といわれて怒らります。Sambaの設定で変えられると思うんですけどね。

なおもちろん実行属性が必要なので、Sambaだけでは無理。WinSCPを一緒に立ち上げながら作業すると良いでしょう。なお、Internal Server Errorでログに

malformed header

と出るときは、"Content-Type:html/text; charset=Shift_JIS"の出力忘れだ!

ええい! ……思わずShift_JISにしてしまったけど、何で統一するのがベストなんだっけ。WebだとUTF-8だっけか。

2004/08/28(土)GetClientRectの謎

知り合いにきかれたので調べたのだが、私も迷宮に迷い込んでしまった。
さっさと、メモって忘れてしまおう。

GetClientRectで取得した短形領域を子フォームのWindows Sizeに指定すると、子フォームのサイズがクライエント領域から少しはみ出す問題。

API自体大して知らないので、表示の方から逆に調査してみることにした。
適当にDelphiアプリを作って、色々いじってみる。

まず、CapCapで取得したフォームの全体サイズが1088x750だった。
BoundsRectでWindow Sizeを取得すると、ltrbが192,107,1280,857で返ってくるのでサイズは合っているようである。TRectの基準はどうもよく分からないが、left-right=Widthなので、TopLeftが左上ピクセル端、BottomRigthが右下ピクセル端に1pixelずつずらした点だろうか。

さて、GetClientRectだと、lrtbが0,0,1080,723である。GetClient領域の描画エリアの幅がタイトルバーの青く色が変わっている部分と同じ幅で、描画できるエリアはそれより少し狭い。

これをMDI子フォームのWindowサイズに指定すると若干はみだし、それぞれ幅、高さそれぞれ-4するとぴったり。枠線幅の分だろうか? 枠線の幅は所得できるが、確証がもてない。

なぞ

眠くて何書いてるのか分からない……
OK キャンセル 確認 その他