Theoretisch könnte man sich ein Konstanten-Array folgender Art vorstellen:
Delphi-Quellcode:
TMethodEntry = Record
MName : string; // Name unter der die Methode registriert ist
MAddr : TMethod; // Adresse (und self-Pointer) der Methode
end;
const MethodList:array[1..100] of TMethodEntry = (
( MName :'Methode1'; MAddr :@self.Methode1 ),
...
Das scheitert aber daran, dass self zur Compiletime unbekannt ist
Du könntest aber die Methoden in den Abschnitt
Published setzen.
Dann kann man per
RTTI die Methoden per Namen (als String) aufrufen.
Variable Argumente sind dann aber trotzdem ein Problem, da ja je nach Anzahl und Typ der Argumente
andere Werte auf den Stack müssen.