以下是我写的代码:{添加好友面板分组控件}
procedure TUserGroup.AddGroups(vGroups:TThreadList);
var iLoop        :Integer;
    TempCommunity:PCommunity;
    GroupObject  :PGroupObject;
begin
  if vGroups=nil then exit;  GroupsList.LockList;
  with vGroups.LockList do
  for iLoop:=0 to Count-1 do
  begin
    TempCommunity:=Items[iLoop];
    GroupObject.GroupId   := TempCommunity.commid;
    Println('Client_000000000000000000000000000000');
    {创建分组头控件}
    GroupObject.GroupList := TbsSkinSpeedButton.Create(nil);//当iLoop=1时,这里报错
    Println('Client_-1-1-1-1-1-1-1-1-1-1-1-1');
    with  GroupObject.GroupList do
    begin
      Left := 0;
      Top  := 0;
      if iLoop>0 then
        Top:= Top+Height-2;
      Width    := myParent.Width;
      Glyph.Assign(TreeClosebmp);
      SkinData := bsSkinData;
      Flat     := true;
      Anchors  := [akLeft,akTop,akRight,akBottom];
      Caption  := TempCommunity.xqname;
      Margin   := 0;
      Name     := 'MyGroupList'+IntToStr(iLoop);
      Tag      := iLoop;
      Parent   := myParent;
      OnClick  := GroupsOnClick;
      OnMouseDown:= GroupsMouseDown;
      PopupMenu:= GroupPopupMenu;
    end;
    Println('Client_aaaaaaaaaaaaaaaaaaaaaa');
    {创建分组主体控件}
    GroupObject.GroupBox := TbsSkinPanel.Create(nil);
    Println('Client_bbbbbbbbbbbbbbbbbbb');
    with  GroupObject.GroupBox do
    begin
      Name        := 'MyGroupListBox'+IntToStr(iLoop);
      Top         := GroupObject.GroupList.Top+GroupObject.GroupList.Height;
      Left        := 0;
      Width       := myParent.Width;
      Anchors     := [akLeft,akTop,akRight];
      Visible     := false;
      BorderStyle := bvNone;
      SkinData    := bsSkinData;
      Parent      := myParent;
    end;
    Println('Client_1111111111111111111');
    GroupsList.Add(GroupObject);
    Println('Client_2222222222222222222222222222');
  end;
  vGroups.UnlockList;
  GroupsList.UnlockList;
  Println('Client_33333333333333333333333');
end;

解决方案 »

  1.   

      PGroupObject = ^TGroupObject;
      TGroupObject = record
        GroupList :TbsSkinSpeedButton;
        GroupBox  :TbsSkinPanel;
        GroupId   :String[32];
        ItemObject:TThreadList;
        ItemCount :Integer;
      end;
      

  2.   

    TbsSkinSpeedButton.Create(nil);//
    是匿名创建对象换成
    var
    FbsSkinSpeedButton:TbsSkinSpeedButton;FbsSkinSpeedButton:=TbsSkinSpeedButton.Create(nil);//
    GroupObject.GroupList :=FbsSkinSpeedButton;
    记得要释放! 
      

  3.   

    问题我已经解决了,加句New(ItemObject);就可以了,虽然不是你说的那个错误,但还是要谢谢你,结贴