INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2024-04-04 00:00 / 次へ→ / 最新へ⇒

■16年越しに見つかった不具合の話。個人的には過去最長記録かもしれない

2024年 4月 4日(木) 0:00:00



RSSRSS配信中
https://www.inasoft.org/



昨日、マウスのお供 ver.1.65.02βを開発途上版として公開しています。

マウス移動中に非表示/マウス静止後しばらくしてから表示する機能を追加したことによる開発中のバージョンなのですが、これとは無関係にある不具合が発見されました。

環境により、設定ダイアログ内でフォントリストのコンボボックスが不正確な初期位置を示すことがあったというものになります。

フォントの列挙は、EnumFontFamiliesEx() APIを使って行っています。この結果をコンボボックスに入れて、一覧選択できるようにしています。この初期カーソル位置の指定は名前指定で行いますが、CB_FINDSTRINGEXACT(完全一致)を使うべきところCB_FINDSTRING(前方一致)を使っていたのが間違いでした。

ただ、多くの環境では、フォント名の前方一致で中途半端にヒットしてしまうことはなく、16年間この問題が見つからなかった理由となっています。

例えば、Arial、Arial Blackの順で並んでいれば、どちらかの名前でも、前方一致で満足にヒットします。しかしArial Black、Arialの順で並んでいると、前方一致だと、Arialを検索しようとして、先にArial Blackがヒットしてしまうので、意図しない動作となってしまいます。

ただ、どういうわけだか、Arial Blackが先に順序付けられる環境に今まで出会わなかったので、この問題が見つからない状況が16年間続いていました。

今回、たまたまそういう環境の方がいて、連絡をいただけて、手元の環境で再現しなかったものの、偶然MSDNのマニュアルの記載にピンと来て、原因を突き止めることができたのでした。

なお、同様の問題はListView to CSVでも発生する見込みのため、こちらも、近々、修正版公開となる予定です。



目次 | ←前へ / 2024-04-04 00:00 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3132382 (+0061)[+0426]

Copyright© 2010-2024 INASOFT