1

Delphi ではレコード型の前方宣言が許可されていないという事実に対する回避策として、レコード ヘルパーを使用することになりました。

少なくともコンパイルはできますが、Intellisense がこれらのヘルパー メソッドを取得しないという事実に不満を感じています。

Extents.TransformBy(Matrix);

TransformBy はヘルパー メソッドです。上記のコードは正常にコンパイルされますが、TransformBy は Intellisense リストにまったく表示されません。念のためIDEを再起動しましたが、それでもうまくいきません。Delphi XE 2 を使用しています。

クラス ヘルパーに関する次のステートメントを見つけました。

実際、クラス ヘルパーはコンパイラのトリックです。舞台裏では、クラスで動作する関数にすぎませんが、名前空間を汚染せず、 intellisense で動作します。

http://blogs.conceptfirst.com/blog/2006/05/08/class-helpers-good-or-bad/

ですから、これが最終的にうまくいくかもしれないという希望はまだあります。

4

1 に答える 1

3

XE2 では、レコード ヘルパーで宣言されたメソッドは、 +を入力.または押したときに表示される使用可能なメソッドのリストに表示されません。私の実験によると、XE5 は問題を解決し、XE5 Intellisense はヘルパー メソッドを認識できるようです。CTRLspace

型を動作させるためにレコード ヘルパーに頼る必要がないように、Embarcadero がレコードの前方宣言を許可してくれればよいのですが。

于 2013-10-10T16:03:14.117 に答える