一直提示“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;