問題タブ [class-helpers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3062 参照

delphi - クラスヘルパーを使用して保護されたメソッドを呼び出すにはどうすればよいですか?

非常に役立つ可能性があるが、保護されたスコープのために利用できないメソッドを持つクラスがあるとします。

私は、そのような方法に手を差し伸べる 2 つの昔ながらの方法を知っています。どちらも、継承と型キャストが関係しています。どちらのアプローチも、基本的なケース #1 と高度なポリモーフィック ケース #2 で同じように機能するはずです。

知りたい:

  • クラスヘルパーの力を適用して同じ結果を得るにはどうすればよいですか?
  • クラスヘルパーでもプライベートメソッドを呼び出すことは可能ですか?
  • 内部表現ではなく、どのクラスヘルパーがクラススコープを拡張するという事実により、ケース#1とケース#2の間に違いはありますか?
  • 再帰の危険を冒さずにクラスヘルパーで再導入されたメソッドから元のメソッドを呼び出す方法は?

また、不安全に関する発言についてはコメントをお願いしTIntroducerます。

0 投票する
1 に答える
730 参照

delphi - クラスヘルパー構文の「祖先リスト」の目的は何ですか? それはどこに文書化されていますか?使用例はありますか?

最新のものを含むすべてのドキュメント バージョンは、次のクラス/レコード ヘルパー構文を提供します。

そして、それは何を説明するだけです...

祖先リストはオプションです。クラスヘルパーのみ指定可能です。

...そして、これ以上詳細に入る必要はありません。ドキュメント トピックの残りの部分の使用例は、ancestor listオプションであるという事実を利用するだけです。私が見た EMBA のコードはすべて、サードパーティのコードもすべて、このancestor list部分を使用していません。

だから、私の質問はタイトルに概説されています:

  • ancestor listクラスヘルパー構文の目的は何ですか?
  • それはどこに文書化されていますか?
  • 使用例はありますか?
0 投票する
1 に答える
566 参照

c++builder - C++ Builder のクラス ヘルパー

Class HelperC++ Builder にも名前の付いた関数があるかどうか疑問に思っています。

私の環境: RadStudio XE4 Update 1.

ここでRadStudio XE4のDelphiの説明を見つけました

C++ Builder hereの同様のページを検索しましたが、C++ の Class Helper に関する情報は見つかりませんでした。

Class Helperヘルプ ページに for C++ Builderがあるかどうかを確認するにはどうすればよいですか? C++ Builder/Delphi の関数一覧のページはありますか?

0 投票する
1 に答える
210 参照

delphi - クラスヘルパーがスコープ内にあるときに元のクラスのコードを呼び出す方法は?

改良版のクイックソートで単体テストを行っています。
(うまくいけば) より高速なバージョンは、次を使用して実装されます。

今のところ、テスト目的で の名前Sortをに変更できることはわかっていますが、ある時点でメソッド名を に修正する必要があります。 SortNewsort

スコープ内にクラス ヘルパーがある場合、元のメソッドを呼び出すにはどうすればよいですか?

rtti またはその他のラウンドアバウト メソッドを使用する方法はありますか?

0 投票する
3 に答える
6493 参照

delphi - Delphi 10.1 Berlinのクラスヘルパーからプライベートフィールドにアクセスするには?

jpeg.TJPEGImage のクラス ヘルパーであるGabriel Corneanu のjpegexを使用したいと思います。これこれを読んで、 Delphi Seattle を超えると、jpegex のようにプライベート フィールドにアクセスできないことがわかりました (以下の例では FData)。David Heffernan が提案したように VMT をいじることは、私には到底できません。これを行う簡単な方法はありますか?

0 投票する
1 に答える
144 参照

delphi - リテラルで TExtendedHelper を使用するにはどうすればよいですか?

(およびその他)を使用System.SysUtils.TShortIntHelperすると、次のように記述できます。

5のように数値をフォーマットしますstring。同様に、ありますがSystem.SysUtls.TExtendedHelper、コンパイルできません:

E2018: レコード、オブジェクト、またはクラスの型が必要です

動作しない他のバージョン:

  • 5.0.ToString()
  • (1.0+5.1).toString()
  • (5+0.).toString()(E2029: ')' が必要ですが、']' が見つかりました)

実際に動作するバージョン:

  • (1+5.1).toString()
  • (1.1+1+5.1).toString()
  • 5.9e0.toString()

拡張値が宣言されている場合、次のconstいずれも機能しません。

しかし、それの定義がq : extended = 5.5;あればうまくいきます。では、なぜコンパイラがこのように動作するのか疑問に思っています。