Lazarus 1.2.4 までの厄介な問題。

Lazarus 1.2.4 まで、基本的なところで結構厄介な問題がありました。
同じプログラム(同じEXEファイル)にもかかわらず、実行するPCによって問題が発生する場合と発生しない場合があります。Windows 7、Windows 8の区別もありません。そういう意味では、まったくこの問題に遭遇していない方も多いかと思います。また、配布したら配布先から問題を指摘されたりというケースもあったかと思います。

この問題は Lazarus 1.2.6 で改善されました。(Issue #0019716)
完全に直ったかどうかは何とも言えませんが、私がいくつかのPCで確認したところ問題が発生していたPCで発生しなくなりました。問題が発生していなかったPCもそのまま問題ありません。

どういう問題かというと。

まず、次のようにフォーム上にEditコントロール、Memoコントロール、Buttonコントロールを1つずつ配置します。

laz12bug_8

フォームのCreateとボタンのClickイベントを以下のように作成します。

 

実行すると、Editコントロールの文字列が全選択となるはずですが、途中までしか選択されません。

laz12bug_1

ボタンをクリックするとMemoにEditの文字列が追加されます。

laz12bug_2

これは問題ありませんが、もう一度ボタンをクリックすると、Memoの2行目に表示されるはずが、1行目の途中に追加されてしまいます。

laz12bug_3

さらにボタンを3回クリックすると、以下のようになります。

laz12bug_4

 

Lazarus 1.2.6 で再コンパイルして実行すると以下のように正しく表示されるようになりました。

laz12bug_5

ボタンを5回クリックしてもMemoに正しく表示されます。

laz12bug_6

とりあえずよかった。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください