喫茶XRAYトップページ

[スレッド全体
]

[5160] 同様の現象を確認しました返信 削除
2011/8/27 (土) 21:58:18 Mr,XRAY
▼ Syakeさん,どうも

同様の現象を確認しました.
以下はテストコードです.

Windows XP(SP3) + Delphi 2010, XE,
Windows 7 U64 + Delphi 2010, XE
で発生しました.
plAdjustFontという関数を無効にすると発生しませんでした.
これから,OSとDelphiの各バージョンでテストしてみます.
どれが本当なのかも調べる必要があります.
とりあえず,plAdjustFontを無効にしてみてください.

しかし,Syakeさんに,またまた感謝ですね.
バグ発見功労者のトップかも知れません.
もちろん,いまいまでバグを発見して下さった方々にも感謝しております.

procedure TForm1.Button1Click(Sender: TObject);
var
  StrTxt : String;
  X1     : Integer;
  X2     : Integer;
  Y1     : Integer;
  Y2     : Integer;
  Yhigh  : Integer;
begin
  X1    := 200;
  X2    := 1700;
  Y1    := 400;
  Yhigh := 50;
  Y2    := Y1 + Yhigh;

  with plPrev1 do begin
    BeginDoc;

    FontName('MS ゴシック');
    FontStyle([]);
    FontSize(10);
    StrTxt := '000000000000000000';
    TextRectLC(X1, X2, Y1, Y2, StrTxt);

    Y1 := Y1 + 50;
    Y2 := Y1 + Yhigh;

    FontName('MS ゴシック');
    FontStyle([]);
    FontSize(10);

    StrTxt := '000000000000000000';
    TextRectLC(X1, X2, Y1, Y2, StrTxt);

    EndDoc;

    ShowModal;
  end;
end;



[5165] 修正版UPしました返信 削除
2011/8/28 (日) 17:41:39 Mr.XRAY
> とりあえず,plAdjustFontを無効にしてみてください.

これだと別の問題が発生するようです.前にありました.
で,Syakeさんの動作確認を待たずに,修正版UPしてしまいました.
多分大丈夫だと思います.

バグ修正の具体的な内容は,ソースコードに書いてありますが,
私の非常に簡単な,単純,思い違いのコーディングミスです.
深くも浅くも追及しないでくださいませ(大汗).お願いです (^^;
「勝てば官軍,動けば正義」ということにしておいてください m(_ _)m


[5166] Re:修正版UPしました返信 削除
2011/8/29 (月) 12:02:26 Syake
▼ Mr.XRAYさん
おはようございます、と言ってももう昼飯時分です。
お手数をお掛けいたしました。
私めは、日祝日は冬眠しておりまして返答無くすいません。
マスターはお休み無しですね。

早速確認してみます。




[5167] Re2:修正版UPしました返信 削除
2011/8/29 (月) 12:06:23 Mr.XRAY
▼ Syakeさん.どうも

>マスターはお休み無しですね。

いえ,休みだからやったんです(笑)
正義の味方に休みはないのだ!

> 早速確認してみます。

それで,誠に申し訳ありませんが,このバグ修正により,前のバージョンで
作成したアプリの文字列表示幅が変化してしまうかも知れません.
その場合は,各自で修正してください.
ホントに情けないバグでした.Syakeさんのこのスレッドがなかったら,
永久に気付かなかったかも知れません.


[5168] Re3:修正版UPしました返信 削除
2011/8/29 (月) 12:12:13 Syake
▼ Mr.XRAYさん

結果、完璧でございました。
ありがとうございました。m(_ _)m

> それで,誠に申し訳ありませんが,このバグ修正により,前のバージョンで
> 作成したアプリの文字列表示幅が変化してしまうかも知れません.
> その場合は,各自で修正してください.

了解です。


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82