It is very convenient to use function (int ^par) in C language. I checked a lot of information but could not find how to use it in Delphi.
Tonight, I suddenly remembered that Delphi universal pointer Pointer (untyped pointer) should be used instead. Pass the test.
PRocedure xx(a:pchar);
var
tm:^TAdodataset;
begin
tm:=Pointer(a);
...
end;
procedurebb;
var
tm:TAdodataset;
begin
tm...
xx(@tm);
end;