Dein Fehler liegt an dieser Stelle:
Delphi-Quellcode:
var
var
MethodCaller : TProcedure;
...
MethodCaller := Self.MethodAddress( pParams[ 0 ] );
...
MethodCaller;
...
Self.MethodAddress gibt dir, wie der Name schon sagt, einen Pointer auf eine Klassenmethode zurück, keine normale
procedure! Daher fehlt beim nachfolgenden Aufruf der implizite Self-Parameter für diese Methode und jedwede Referenz auf Self landet im Nirwana.
Folgende Änderungen sollten dir weiterhelfen:
Delphi-Quellcode:
...
type
TClassMethod = procedure(Self: TObject);
...
var
MethodCaller : TClassMethod;
...
MethodCaller(Self);
...