Тема: TListBox
Показать сообщение отдельно
  #11  
Старый 25.08.2012, 17:55
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Использую TStringList для хранения объектов типа TUser.
Код:
type
  TUser = class
    online:byte;
    uid,fname,lname:string;
    photo:TBitmap;
  end;
При создании главной формы инициализирую переменную типа TStringlist(friends) и переменную типа TUser(tempuser).

В ходе работы программы добавляю объекты tempuser в переменную friends:
Код:
tempuser.uid:=Pars('uid',answer);
tempuser.fname:=Pars('first_name',answer);
tempuser.lname:=Pars('last_name',answer);
tempuser.online:=StrToInt(Pars('online',answer));
...
tempuser.photo.Assign(jpeg);
...
Friends.AddObject(tempuser.uid,tempuser);

Далее пытаюсь считать эти самые объекты и добавить их в ListBox
Код:
lb_users.Items.BeginUpdate; 
       lb_users.Clear;

       memo1.Lines.Add('count='+IntToStr(friends.Count));
       SelUser:=TUser.Create;
       for i := 0 to friends.Count-1 do
           begin
           if friends.Objects[i]=nil then memo1.Lines.Add('nil');
           SelUser:=TUser(TObject(friends.Objects[i]));  
           
           memo1.Lines.Add(SelUser.fname+' '+SelUser.lname);
           memo1.Lines.Add('online='+Inttostr(SelUser.online));
                                 
           if SelUser.online = online then
              begin
                lb_users.AddItem(SelUser.fname+' '+SelUser.lname,
                       TObject(StrToInt(SelUser.uid)));
                memo1.Lines.Add('i='+Inttostr(i)+' user='+SelUser.fname+' '+SelUser.lname);
              end;
           end;
       SelUser.Free;
       lb_users.Items.EndUpdate;

При этом в LIstBox ничего не добавляется. В чем ошибка?
Ответить с цитированием