2013-08-05 46 views
7

Như chúng ta có thể tìm thấy một Property hoặc một Object sử dụng RTTI, chúng ta có thể tìm kiếm một số function hoặc procedure (không phải từ một đối tượng như một method nhưng từ một unit) nạp vào bộ nhớ chỉ biết tên của nó?Chúng tôi có thể sử dụng RTTI để tìm các chức năng/thủ tục theo tên và chạy chúng không?

Và nếu có thể, có thể thực hiện nó gửi thông số của nó không?

Trả lời

4

Hệ thống RTTI của Delphi dựa trên các loại. Tuy nhiên, các thủ tục và chức năng với phạm vi đơn vị không được liên kết với các loại và do đó không thể đạt được bằng RTTI.

+1

@SirRufo chỉ cho tôi: http://docwiki.embarcadero.com/CodeExamples/XE3/en/Event_RTTI_Invocation_(Delphi). Vì vậy, cách duy nhất là tạo ra những hàm bên trong các đối tượng để tôi 'gọi' chúng? – PSyLoCKe

+0

Vấn đề là đặt các tham số ... – PSyLoCKe

+4

Bạn cũng có thể truy xuất các tham số phương thức bằng RTTI http://theroadtodelphi.wordpress.com/2010/10/10/fun-with-delphi-rtti-dump-a-trttitype -Định nghĩa/ –