2012-02-26 9 views
6

mam tej klasy:Jak złapać TRTTIParamter za wartość domyślną

TMyClass = class 
public 
    function DoSomethingNice(const Value: string = 'Yes please!'): Boolean; 
end; 

Teraz, używając RTTI, czy to możliwe, aby uzyskać domyślną wartość parametru Wartość metody DoSomethingNice? Jeśli tak to jak?

Najbardziej interesuje mnie rozwiązanie D2010, ale XE też.

+2

na razie nie jest to możliwe, ale możesz głosować w tej QC [93943] (http://qc.embarcadero.com/wc/q cmain.aspx? d = 93943) – RRUZ

+0

@RRUZ dziękuję, nie byłem tego pewien, ale oczekiwałem tego ... – ComputerSaysNo

Odpowiedz

11

jest to niemożliwe, ponieważ RTTI nie ma informacji o parametrach domyślnych. domyślne wartości parametrów są używane tylko w czasie kompilacji

więc, jeśli mamy ... procedure test(x : integer = 3) a następnie wywołać metodę bez wartości parametru: test() to zostaną skompilowane jako test(3)

sprawdzić to cię można otworzyć okno procesora debugger: i test() wygląda

mov eax, $00000003 
call test 
+0

dziękuję teran! – ComputerSaysNo

Powiązane problemy