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

数据传递有关问题

2012-02-13 
数据传递问题public{ Public declarations }GPRSList: TListViewprocedure TfrmMain.AddUserInListView(A

数据传递问题
public
  { Public declarations }
  GPRSList: TListView;

procedure TfrmMain.AddUserInListView(AClient: TUser);
var
  Item: TListItem;
begin
  Item := frmMain.GPRSList.Items.Add;
  Item.Caption := AClient.UserName;
  AClient.ListItem := Item;
  Item.SubItems.Add(Format('%s[%d]', [AClient.IP, AClient.Port]));
  Item.SubItems.Add('N/A');
  //Item.Checked := AClient.Selected;
  if Assigned(frmGPRS) then frmGPRS.ListView1:=GPRSList;
end;

我有这么一段程序
当我执行到第一行 Item:=frmMain.GPRSList.Items.Add 就出错了
我是想建一个临时的TlistView,方便我在其他窗口也能调用这个数据,所以就定义了一个,但是我不希望在窗口上把这个tlistView创建显示出来,大家看看我该怎么做,才能达到我的目的,谢谢

[解决办法]
GPRSList虽然声明了,但没有实现,因此你需要如下改动
var
Item: TListItem;
begin
GPRSList := TListView.create(nil);
try
Item := frmMain.GPRSList.Items.Add;
Item.Caption := AClient.UserName;
AClient.ListItem := Item;
Item.SubItems.Add(Format('%s[%d]', [AClient.IP, AClient.Port]));
Item.SubItems.Add('N/A');
//Item.Checked := AClient.Selected;
if Assigned(frmGPRS) then frmGPRS.ListView1:=GPRSList; //这里需要assign,不能赋指针
finally
GPRSList.free;
end;
end;

热点排行