为什么Dll返回PChar类型数据,返回的字符串会出现乱码?

                            
现在我在程序中调用DLL提供的一个函数,函数原形如下   
  function   ReadRecord(aCom,aMachineNo   :   Integer):   PChar;   StdCall   ;  
  一开始返回的数据是正确的,过了段时间返回值就会出问题,返回的数据不完整从而出现乱码,或者返回的值是DLL中别的变量里的值,但是在日志当中看在ReadRecord函数返回前与返回后DLL中该字符串的内容都是正确的,在调用接口那段程序里就出错了。搞不清楚为什么,请大家赐教!  
  接收返回值的变量的类型 我用string   以及pchar   都试过了,都会有这个问题

查看回复