特定の基本クラスから継承するクラスのリストを取得したいと考えています。
RTTI を使用すると、すでにそれを確認できます。しかし、これらの各クラスが抽象的かどうかもチェックしたいと思います。
ここで解決策を見つけました: Delphi クラスが抽象宣言されているかどうかを確認するにはどうすればよいですか?
ただし、行については、不明な識別子でif GetVirtualMethod(c, i) = @_AbstractError then
あるエラーが発生します。@_AbstractError
私の質問は、AbstractError
私のクラスの仮想メソッドのいずれかがそのアドレスを指しているかどうかを確認する手順のアドレスを取得するにはどうすればよいですか? System.pas
ファイルを見ると、そこにあることがはっきりとわかります_AbstractError
。
または、特定のメソッドが実装されているか抽象化されているかを確認する別の方法はありますか?
私は Delphi XE6 を使用しており、メソッド用GetVirtualMethodCount()
およびGetVirtualMethod()
上記の参照ソリューションから JCL をインストールしています。