Nochmal: Der Aufruf "B(A('x'))" heißt: Ich rufe Methode B auf und stecke den Rückgabewert vom Aufruf A('x') als Parameter rein. A gibt aber überhaupt nichts zurück, es ist eine
procedure
, keine
function
. Sie hat keine Rückgabe.
Kann es sein dass du nicht nach TProc<T> suchst sondern nach TFunc<T>?
Ansonsten, falls nicht: Entweder du findest dich damit ab dein B(..) um den String als Parameter erweitern zu wollen, oder du machst es so:
Delphi-Quellcode:
B(
procedure()
begin
A('x');
end
);
was gleichwertig wäre mit
Delphi-Quellcode:
var
c: TProc;
begin
c :=
procedure()
begin
A('X');
end;
A(c);
end;