Z
zlj555
Unregistered / Unconfirmed
GUEST, unregistred user!
pChar 与 Pointer
我的COM中有一个TLIST对象,中间内容为Record类型的指针
TStudent=record
name : string;
sex : string;
end;
pStudent =^TStudent;
var
studentsList= TList;
对外提供调用/修改对象的方法。
procedure getName(AName : string)Char //就是说我需要把Pointer的值按PChar返回。
begin
...
result := StudentsList.Items[1];//返回一个Record的指针,对吗?????
end;
客户端
我把以上的值加入到TreeNode的Data属性中:
TreeNode.data := getName('zlj');//这样对吗????
pStudent(TreeNode.Data)^.Name := 'zlj'//执行这条语句时没问题,但当程序退出会
出内存方面的错误,
这使我想到了以前的一个程序就是:如果DLL返回的类型为Pointer(指内字符串),但当我
在客户端使用时:String(abc) //abc为Pointer类型不行,必须String(Pointer(abc));
我的COM中有一个TLIST对象,中间内容为Record类型的指针
TStudent=record
name : string;
sex : string;
end;
pStudent =^TStudent;
var
studentsList= TList;
对外提供调用/修改对象的方法。
procedure getName(AName : string)Char //就是说我需要把Pointer的值按PChar返回。
begin
...
result := StudentsList.Items[1];//返回一个Record的指针,对吗?????
end;
客户端
我把以上的值加入到TreeNode的Data属性中:
TreeNode.data := getName('zlj');//这样对吗????
pStudent(TreeNode.Data)^.Name := 'zlj'//执行这条语句时没问题,但当程序退出会
出内存方面的错误,
这使我想到了以前的一个程序就是:如果DLL返回的类型为Pointer(指内字符串),但当我
在客户端使用时:String(abc) //abc为Pointer类型不行,必须String(Pointer(abc));