TPathレコードには、クラスvarsを初期化するクラスコンストラクターTPath.Createがあります。しかし、私はTPath.Createが使われているユニットを見つけることができません。これはすべての値が正しい値(TPath.PathSeparator、...)を持っているかどうかを示します。System.IOUtilsのTPathレコードはどこに初期化されていますか?
5
A
答えて
10
クラスコンストラクタは、という名前で、自動的にと呼ばれ、Delphiが生成する初期化コードによって呼び出されます。クラスコンストラクタは、宣言されているユニットの初期化セクション中に呼び出されます。
これはdocumentationでより詳細に記載されている:
クラスコンストラクタは、開発者にアクセス可能でない特別なクラスのメソッドです。クラスコンストラクタへの呼び出しは、クラスが定義されているユニットの初期化セクションにコンパイラによって自動的に挿入されます。通常、クラスコンストラクタは、クラスの静的フィールドを初期化するため、またはクラスまたはクラスインスタンスが正しく機能するために必要な初期化のタイプを実行するために使用されます。クラス初期化コードを初期化セクションに置くことによっても同じ結果が得られますが、クラス・コンストラクターはコンパイラーが最終バイナリー・ファイルに組み込むクラスとそのクラスから除去すべきクラスを決定する助けとなります。
DCUのデバッグを有効にして、クラスコンストラクタのコードにブレークポイントを設定すると、これがわかります。
関連する問題
- 1. 初期化されていないグローバル変数はどこで初期化されますか?
- 2. このシングルトンは初期化されていますか?
- 3. ファンシーボックスの例:ファンシーボックスはどこで初期化されていますか?
- 4. forks.cのtotal_forksはどこで初期化されていますか?
- 5. JSPはどこで初期化されますか?
- 6. MSTAPI要求IDはどこで初期化されていますか?
- 7. 初期化されていない値は初期化されていますか?
- 8. 初期化されていないローカル変数が実際に初期化されていますか?
- 9. これらのvarsはどのように初期化されますか?
- 10. intは常に0に初期化されていますか?
- 11. 初期化されていないオブジェクトvs NULLに初期化されたオブジェクト
- 12. スキップリストはどのように初期化されますか?
- 13. gruntプラグインはどのように初期化されますか?
- 14. lazy valが初期化せずに初期化されているかどうかをチェックする方法は?
- 15. このRubyコードはどのように初期化されますか?
- 16. arm_rfft_init_q31:cfftメンバーはどのように初期化されていますか?
- 17. 基本例外はどのように初期化されていますか?
- 18. std :: coutの初期化は保証されていますか?
- 19. この初期化方法は推奨されていますか?
- 20. MSVC2015は初期化されていないクラスメンバーを初期化する
- 21. LPUSHコマンドはJSONから初期化されたレコードで動作しますか?
- 22. 私の変数は初期化されていませんか?
- 23. WebStorm用のローカルgitリポジトリはどこで初期化されますか?
- 24. このサブスクリプションは初期化されましたか?
- 25. "EntityCollectionは既に初期化されています。"エラー
- 26. Java doubleは0.0に初期化されています
- 27. LeafletJS:マップコンテナは既に初期化されています
- 28. 変数ループで初期化されても初期化されません
- 29. C++ 11は初期化されたメンバフィールドを再初期化しますか?
- 30. PIC18F XC8コンパイラ - オブジェクトは初期化されていませんか?
ありがとうございました!少なくとも私のために、何か新しいものがあり便利です。 – Branko