C
calman
Unregistered / Unconfirmed
GUEST, unregistred user!
首先假设我要调用一个函数f(),f()需要PChar类型的参数,处理结果由参数带回。类似GetComputerName()。如果我调用的形式必须为GetComputerName(PChar(str), ..),即将String类型强制转换为PChar类型。请问我如何能肯定GetComputerName不会为PChar(str)这个参数分配空间用以存储处理结果?所以我在调用之前是否需要SetLength(str, ...)?
再假设我要写一个函数f(p: PChar)被其他地方调用,处理结果由参数带回。在函数工作之前,我必须判断参数的有效性,如果调用者用f(PChar(str))的形式来调用我写的函数,请问我如何能肯定p是否已经被分配了空间?
再假设我要写一个函数f(p: PChar)被其他地方调用,处理结果由参数带回。在函数工作之前,我必须判断参数的有效性,如果调用者用f(PChar(str))的形式来调用我写的函数,请问我如何能肯定p是否已经被分配了空间?