首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

一直提示“Invalid pointer operation”解决方案

2012-02-04 
一直提示“Invalid pointer operation”我在ListView的SelectItem事件中,来显示Item.Data的数据。在插入数据

一直提示“Invalid pointer operation”
我在ListView的SelectItem事件中,来显示Item.Data的数据。在插入数据时使用的是^Integer,连续点击不同的行,在点击第三次时就出现“Invalid   pointer   operation”。
大家帮我看看是什么问题。代码如下:
procedure   TSysMemberSet.MemberDataSelectItem(Sender:   TObject;
    Item:   TListItem;   Selected:   Boolean);
var
        PrimaryKey   :   ^Integer;
begin
        if   (not   Selected)   or   (Item.Data   =   nil)   or   (Item.Index   <   0)   then   Exit;

        try
                New(PrimaryKey);
                PrimaryKey   :=   Item.Data;
                LblMemberID.Caption   :=   IntToStr(PrimaryKey^);
        finally
                Dispose(PrimaryKey);
        end;
end;    


[解决办法]
PrimaryKey := Item.Data; 这里不对!
只是把指针给它!
procedure TSysMemberSet.MemberDataSelectItem(Sender: TObject;
Item: TListItem; Selected: Boolean);
var
PrimaryKey : ^Integer;
begin
if (not Selected) or (Item.Data = nil) or (Item.Index < 0) then Exit;
New(PrimaryKey);
PrimaryKey := Item.Data;
LblMemberID.Caption := IntToStr(PrimaryKey^);
end;

热点排行