« ワクワクが足りない | メイン | あけましておめでとうさんです »

[Delphi] 内部エラー: URW821 出まくりんぐ

Delphi 7以降の言語およびコンパイラの新機能
にある、「メソッドを持つレコード」を使っていたりするのですが、

的なコードで、

Hoge := (FPoints[i] - Position).Length;

とすると、コンパイルする時に、

[Pascal 致命的エラー] PathUnit.pas(98): F2084 内部エラー: URW821

とでて、プロジェクトが、コンパイル不能!

AA_Booo.png

Quality Centralに報告発見……。

2007年3月に、Fixedされている模様。
Delphi2007では大丈夫なのかな?
Report #: 30131 : "Advanced" Records - Internal Errors URW821 and C1624

前にもバグらせて、Quality Central にバグ報告しましたが、
やっぱり、Delphi7以降の新機能の record 周りは鬼門だ。

完璧なもの出して、とは言いませんが、
パッチで直してホスィが、BDS2006はすでに無理!

ちなみに、今回の回避コードは、以下。

Hoge := (FPoints[i] - Position).Length;

ではなく、

で、OK。
recordの関数作った意味がないwwww

しかし、一見、機能拡張ではなく、
「コンパイルのバグのせいでDelphi2007より前では、
コンパイルが通らないコード」、っつーのが量産できそう orz

クソ!俺も、ベータテストに参加できれば!
と思って、参加要請出したのが、4ヶ月前……。
時間なくて(あるけど)、返事出してない(´・ω・`)

カテゴリ: [ Delphi ]

コメントを投稿

Twitter(今何してる?)

プロフィール

あわせて読みたい

あわせて読みたいブログパーツ

人気エントリー

About

2007年12月21日 08:54に投稿されたエントリーのページです。

ひとつ前の投稿は「[メンタルヘルス] ワクワクが足りない」です。

次の投稿は「[メンタルヘルス] あけましておめでとうさんです」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。