![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Народ помогите, я пишу свой icq клиент, мне нужно чтобы моя ася загружала контакт-лист
|
|
#2
|
||||
|
||||
|
вот листинг:
Код:
procedure TMainForm.ICQClient1ServerListRecv(Sender: TObject;
SrvContactList: TList);
var
i: Word;
UserInfo: TUINEntry;
ListItem: TListItem;
begin
if SrvContactList.Count > 0 then
for i := 0 to SrvContactList.Count - 1 do
begin
UserInfo := PUINEntry(SrvContactList.Items[i])^;
if UserInfo.CType = U_VISIBLE_LIST then
ICQClient1.VisibleList.Add(IntToStr(UserInfo.UIN))
else if UserInfo.CType = U_INVISIBLE_LIST then
ICQClient1.InvisibleList.Add(IntToStr(UserInfo.UIN))
else if UserInfo.CType = U_NORMAL then
begin
if ICQClient1.AddContact(UserInfo.UIN) then
begin
ListItem := ListView1.Items.Add;
ListItem.ImageIndex := ICON_OFFLINE;
ListItem.Caption := IntToStr(UserInfo.UIN);
end;
end;
end;
ICQClient1.DestroyUINList(SrvContactList);
end;но все компилируется но при запросе контакт листа появляется List index out of bounds (9) помогите исправить, я вас в разработчики запишу Последний раз редактировалось Admin, 06.05.2009 в 22:41. |
|
#3
|
||||
|
||||
|
попробуй для начала так:
Код:
for i := SrvContactList.Count - 1 downto 0 do |
|
#4
|
||||
|
||||
|
попробовал как ты сказал, все равно! тоже самое
мне люди сказали что ошибка где-то в UserInfo := PUINEntry(SrvContactList.Items[i])^; только где я не могу понять |
|
#5
|
||||
|
||||
|
откопал на другом форуме:
Код:
UserInfo:=PUINEntry(SrvContact List.Items[i])^; if UserInfo.Nick = '' then UserInfo.Nick:='No Name'; http://forum.asechka.ru/showthread.php?page=2&t=97186 |
|
#6
|
||||
|
||||
|
все сделал, но все равно(((
|