DelFusa Blog 総本山

プログラミングの話題とかです。

NEW | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

| スポンサー広告 | --:-- | comments(-) | trackbacks(-) | TOP↑

≫ EDIT

Screen.MonitorCountのバグを修正した


          _______________
   ∧.,,∧   /
  ミ.,,゚Д゚彡<   ちょっとテク
  ミ つ目(ミ . \
~ミ,,O,,,,,,つ     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄


以前から、気になっていたVCLのバグがありまして。

マルチモニタ環境で、モニターが追加されたり消えたりしたときに
Screen.MonitorCountの値が変わらないのですよ。

せっかくマルチモニタの情報を取得しようとしても
ツカエネー、という感じ。これじゃ、とてもぱっとしません。

ということで修正します。
しかも、面倒じゃなくて激楽な方法を考えました。


検索してみると、バグ修正の詳細は、こちらにのっております。
programmer´s real life and so on » Delphi6 のバグ
http://blog.zzaj.net/?p=44

かなり詳細まで記載してもらっていて、ありがたや。
詳しい方もおられるものですよ。

それにしても、
ちょっと、Form.dcuを置き換えるのは勇気がいりますよね。
怖いし、面倒だし。

ということで、より気楽にScreen変数を更新する方法を模索してみましたところ
こんな方法もありかなと。

Screen.Free;
Screen := TScreen.Create(nil);
これをやってから、
Screen.MonitorCount
を取得してください。

これで Form.pasを修正せずに、バグ解消です。

すっごい亜流な感じですが、楽でいいでしょう。

Delphi2010では直ってますか?


実はまだD2007なのでござんす。

ライブラリのUnicode対応しようとすると、すごい労力がかかりますね。

みなさん、がんばってやっているのかしら?
スポンサーサイト

| 未分類 | 01:49 | comments:0 | trackbacks(-) | TOP↑

COMMENT















非公開コメント

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。