Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#7

Re: Zugriffverletzungen bei vererbten Eigenschaften.

  Alt 3. Jan 2009, 12:35
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);
...
Uwe Raabe
  Mit Zitat antworten Zitat