函数中一个参数是PByte类型,调用的时候,是否需要new和dispose这个PByte参数?该如何解决

函数中一个参数是PByte类型,调用的时候,是否需要new和dispose这个PByte参数?
请教个问题,函数中一个参数是PByte类型,调用的时候,是否需要new和dispose这个PByte参数?
function A(p1:PByte):boolean;
调用的时候:
var
 x:PByte;
begin
  new(x);//是否有必要呢?
  A(x);  
  dispose(x);
end;

如果是记录指针,需要new,如果是PINT,或者PByte,是否也需要new呢?
另外,执行A(x)后,x变成了实际的一个byte类型的指针,如何取得这个指针第一个地址里面存储的byte呢?


------解决方案--------------------
否,不需要。
------解决方案--------------------
需不需要new要看函数里面在干嘛了!!

如何取得这个指针第一个地址里面存储的byte呢?
x^
------解决方案--------------------
对头,就象s11s所说,要根据函数用这个干嘛,很多人喜欢把array [0..n] of byte 传递的时候,写成PByte传递,

决大多数按照规矩写的人,传PByte进去,而又没跟Size的话,相信是为了从这个PByte返回一个值

楼主可以这样调用看看

function A(p1:PByte):boolean;
调用的时候:
var
x:integer;
begin
x := 0;
if A(@x) then
ShowMessage(IntToStr(x));
end;

------解决方案--------------------
值参不用的话,还要这个参数干吗?