Zitat:
MachWas( TSuccessProc( @Success));
Und das Funktioniert so?
Diese Embedded-Prozeduren haben unter Umständen einen "unsichtbaren" ersten Parameter,
so ähnliche wie das "Self" bei Methoden, wo der Kontext zu den geteilten Variablen drin steht,
was dann nicht mit der Signatur deines TSuccessProc übereinstimmt.
Das sagt dir der Compiler aber auch, da er die Übergabe dieser Prozedur hier eigentlich nicht zulässt,
wenn du nicht grob fahrlässig und bösartig, durch dein rumgepointere, die Prüfungen aushebeln würdest.
Delphi-Quellcode:
function EineFunktion: String;
var
xy: Integer;
procedure Success;
begin
Result := DoSomething(xy); // Zugriff auf XY und/oder Result
end;
begin
...