请问:用Pchar Lpctstr Pansichar 一定要进行内存分配吗?
如:
var ss:Pchar;
1. ss:=Pchar('sss');
没有释放内存可以吗?
2. ss:=StrAlloc(3);
if Assigned(ss) then StrDispose(ss);Lpctstr ,Pansichar 同上.
如:
var ss:Pchar;
1. ss:=Pchar('sss');
没有释放内存可以吗?
2. ss:=StrAlloc(3);
if Assigned(ss) then StrDispose(ss);Lpctstr ,Pansichar 同上.
1. ss:=Pchar('sss');
没有释放内存可以吗? // 这里应该只是引用,并没有分配内存(不确定的说)
2. ss:=StrAlloc(3);
if Assigned(ss) then StrDispose(ss);
ss:=StrAlloc(3);
if Assigned(ss) then
begin
ss:=nil; //行吗?
StrDispose(ss);
end;
StrDispose(ss);
ss:=nil; //行吗?先释放,再置为nil.
var ss:^Pchar;
begin
new(ss);
ss^:='sss';
dispose(ss);
end;
pchar 不就是指针.
^P 是什么类型?补充:
我调用的是DLL
1. ss:=Pchar('sss');
没有释放内存可以吗?//只是让ss指向一个已经存在的串 'sss',不能进行释放
2. ss:=StrAlloc(3);
if Assigned(ss) then StrDispose(ss);//正确。
==============
pchar 不就是指针.
^P 是什么类型?
你先找找程序中对P的定义,看看P是什么,^P就是指向 P 的指针类型。