读书人

资源访问出错的有关问题

发布时间: 2012-05-31 12:19:24 作者: rapoo

资源访问出错的问题
资源文件里面有 R1, R2, R3标识的资源

有个类 Txx Txx 有个private成员res:PAnsiChar(资源标识),类里面有个过程Pxx会通过res访问这个资源

我分别创建3个对象 o1,o2,o3 然后把res的值分别为'R1','R2','R3' 这样程序不会出错

但我用循环创建,如下:
for i:=0 to HIGH(objs) do
begin
objs[i]:= Txx.Create(self);
objs[i].res:=pChar('R'+inttostr(i+1));
end;
objs是Txx类型数组,下标是0-2, 访问Pxx函数时,提示"找不到资源........."

"......"每次的内容不一样 好像访问到了别的地方的值

[解决办法]
objs[i].res:=pChar('R'+inttostr(i+1));
改成:
GetMem(objs[i].res, 256);
StrCopy(objs[i].res, pChar('R'+inttostr(i+1)));

最后在objs[i]释放之前还要注意使用FreeMem来释放objs[i].res

读书人网 >.NET

热点推荐