ひとりごと:アーカイブ

Richeditと行の挿入エラーと

wb for XPをバージョンアップしました。二点。

  • ファイル名拡張子を指定しなかった時勝手につけるようにした(Default指定を忘れてた)。
  • 連続処理で、ファイル名にγとかθとか×とかあるときに処理が中断する事への対処(例外処理追加) 。

前者はポカですが、後者はなんとも…。

あまり賢い方法ではありませんが、挿入や追加を呼び出す部分をtry ~ except ~ finallyで囲いました。エラーが表示されなくなるだけですがリッチエディット・コントロール表面上に動作異常はありません。文字は正しく挿入されています。wb for XP本来の処理である画像処理は正しく行われ、その結果も正しく表示されます。

wb for XPでは「連続処理の処理結果に異常があるときは書体を変える」ことを目的としてリッチエディット・コントロールを使用しています。そして、ファイル名にγとかθとか×とかあると、追加・挿入時に処理が止まっていました。開発環境内(Delphi2005)でフォームにリッチエディットを配置してγとかθとか入れてもそれを編集できなくなる(編集しようとすると同じエラーが出る)わけですが、コントロール内にはγもθも表示されているんですよね。

検索していろいろ分かりました。リッチエディット・コントロールのバージョン(ソースコードを追いかけるとDelphi2005では確かに初代のコントロールを呼び出しているようです)とかフォントとかあるようですが。どうもそれだけではないのではと、クラスを疑っています。

多分…。リッチエディット・コントロールをVCLとして扱うためのクラスに問題があるのではないかと。ほら、LinesとかでTStrings形式でテキストだけ取り出せたり行単位で扱えたりするじゃないですか。そういうからくりを作るときに文字コードの問題が起きているんじゃないかなぁと疑っています。でもそれ以上は何もしない(笑)。調べればもっといろいろ分かりそうですけれど、面倒くさい。

try ~ except ~ finallyで囲うだけでは解決したことにはならないと思うので、機能的には問題ないまでも気分がすっきりしない。むー。

新しい環境Delphi2008ではどうなっているのでしょう…。

トラックバック(0)

トラックバックURL: http://arika.stbbs.net/blogmt/mt-tb.cgi/409

コメントする

このブログ記事について

このページは、惟栂舞ありかが2009年1月19日 20:47に書いたブログ記事です。

ひとつ前のブログ記事は「新PCが組み上がらない」です。

次のブログ記事は「新PCの筐体を削った」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アーカイブ