Ich weiß nicht, ob ich es richtig übersetzt hab,
aber ich würde empfehlen garnicht erst zu versuchen dieses Assembler weiter zu nutzen.
Stattdessen sollte man eher versuchen die neue
RTTI zu verwenden:
Delphi-Quellcode:
uses
System.TypInfo, System.RTTI;
function zend_get_parameters(ht: Integer; param_count: Integer; Params: array of ppzval): Integer;
var
Args: TArray<TValue>;
i: Integer;
begin
SetLength(Args, Length(Params) + 2);
Args[0].From<Integer>(ht);
Args[1].From<Integer>(param_count);
for i := 0 to High(Params) do
Args[i + 2].From<ppzval>(Params[i]);
Result := Invoke(@ZendGetParameters, Args, ccCdecl, TypeInfo(Result)).AsInteger;
end;
Code nicht getestet und ich bin mir auch nicht sicher, ob das mit den übergebenen Parametern so stimmt.
Bis auf "Args" bin ich mir aber relativ sicher, daß es so stimmen sollte.