Irgendwer (du) quetscht grob fahrlässig einen
Funktions-Zeiger in eine
Methoden-Zeiger-Variable,
wobei
natürlich die Signatur überhaupt nicht kompatibel sind.
Wenn sich jetzt jemand wundert, dass die übergebenen Parameter nicht stimmen, dann ist er selbst Schuld,
weil er den impliziten (unsichtbaren) ersten Parameter "Self" ignoriert hat.
Function MyBösartigeFalscheMethodenFunktion(Self: TObject; CONST Rec: DoubleDouble): DoubleDouble;
Und nun rate mal, wie TMethod.Data in die
Funktion Methode rein kommt.
Zitat:
trotzdem korrekt! ???
Ja klar, weil muß ja korrekt sein,
da Anzeige-Werte <> Rückgabe-Werte.
Zitat:
Delphi-Quellcode:
WriteLn('Rec.X[0] = ', Rec.X[0]);
WriteLn('Rec.X[1] = ', Rec.X[1]);
ClearRec(Result); <<<<<<<<<<<<<<<<<<<<<<<<<
Result.X[0]:= Rec.X[0]*Rec.X[0];
Result.X[1]:= Rec.X[1]*Rec.X[1];
End;{MyFunktion}