É muito conveniente usar a função (int ^par) na linguagem C. Verifiquei muitas informações, mas não consegui descobrir como usá-la no Delphi.
Esta noite, de repente me lembrei que o ponteiro universal Delphi Pointer (ponteiro não digitado) deveria ser usado. Passe no teste.
Procedimento xx(a:pchar);
var
tm:^TAdodataset;
começar
tm:=Ponteiro(a);
...
fim;
procedimentobb;
var
tm:TAdodataset;
começar
tm...
xx(@tm);
fim;