喫茶XRAYトップページ


[5769] コンパイルでエラーにならない返信 削除
2012/2/13 (月) 21:06:56 snail3
またまた、しょうもないことですが、

↓は元々ある人がDelphi6で作ったソースの一部です。

  wRect.Left   := FLeftMargin;
  wRect.Top    := FTopMargin;
  wRect.Height := ClientHeight; ←なぜかコンパイルが通るマシンがある
  wRect.Width  := ClientWidth;

※  wRectは TRect型として定義してあります。

ノートPCでコンパイルするとエラー発生。

TRect.Height ってなんだ、ソースが違う?

でも自分のマシンではエラーは発生しません。

今まで10年間エラーは出ていなかったソースにもバグは入っています。




[5772] Re:コンパイルでエラーにならない返信 削除
2012/2/13 (月) 21:23:43 Mr.XRAY
▼ snail3さん

>   wRect.Height := ClientHeight; ←なぜかコンパイルが通るマシンがある
>   wRect.Width  := ClientWidth;


えっ,なんでコンパイルが通るんだ.
TRectの定義を,どこかで変更しているとか?


[5773] Re:コンパイルでエラーにならない返信 削除
2012/2/14 (火) 09:46:04 au
▼ snail3さん
> またまた、しょうもないことですが、
>
> ↓は元々ある人がDelphi6で作ったソースの一部です。
>
>   wRect.Left   := FLeftMargin;
>   wRect.Top    := FTopMargin;
>   wRect.Height := ClientHeight; ←なぜかコンパイルが通るマシンがある
>   wRect.Width  := ClientWidth;
>
> ※  wRectは TRect型として定義してあります。
>
> ノートPCでコンパイルするとエラー発生。
>
> TRect.Height ってなんだ、ソースが違う?
>
> でも自分のマシンではエラーは発生しません。
>
> 今まで10年間エラーは出ていなかったソースにもバグは入っています。
>
>

XEだと従来通りのLeft,top等とTopLeft,BottomRightしかないですから、XE2からTRectがかなり拡張されてプロパティとかメソッドが追加されてるみたいです。
コンパイルしてるDelphiのバージョンが違うとかじゃないでしょうか?

[5774] Re2:コンパイルでエラーにならない返信 削除
2012/2/14 (火) 14:31:33 Mr.XRAY
▼ auさん.どうもです.

> XE2からTRectがかなり拡張されてプロパティとかメソッドが追加されてるみたいです。

えっ!?
あっ,本当に,結構便利かも.Sizeなんてプロパティも追加されていますね.
こうやって機能が追加されていくのは嬉しいことです.


[5775] Re2:コンパイルでエラーにならない返信 削除
2012/2/14 (火) 20:06:55 snail3
▼ auさん

> XEだと従来通りのLeft,top等とTopLeft,BottomRightしかないですから、XE2からTRectがかなり拡張されてプロパティとかメソッドが追加されてるみたいです。
> コンパイルしてるDelphiのバージョンが違うとかじゃないでしょうか?


残念ながら、今回エラーが出たのノートのバージョンが XE でした。
Del6 → 2010 → XE → XE2 とバージョンが変わり、その度にコンポーネント
としてインストールしていたはず?なんです。


[5776] Re3:コンパイルでエラーにならない返信 削除
2012/2/17 (金) 00:09:33 Mr.XRAY
▼ snail3さん

> 残念ながら、今回エラーが出たのノートのバージョンが XE でした。
> Del6 → 2010 → XE → XE2 とバージョンが変わり、その度にコンポーネント
> としてインストールしていたはず?なんです。


ムムムッ.なんだべ
XE2だとWidthプロパティがあるから,XE2で開発したものを
XE以下のIDE環境でコンパイルするとエラーは出ますよね?
わかりマシェーン.


INCM/CMT
Cyclamen v3.82