Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TICQClient empfängt bei 8stelliger UIN keine Kontaktliste! (https://www.delphipraxis.net/124937-ticqclient-empfaengt-bei-8stelliger-uin-keine-kontaktliste.html)

Pixelex 27. Nov 2008 14:15


TICQClient empfängt bei 8stelliger UIN keine Kontaktliste!
 
Hallo,

das Thema um meinen Instant Messenger wird immer interessanter. Mittlerweile kommen die Kontakte rein, diese können auch on und off gehen, man kann sie anklicken und sie anschreiben plus man kann selbst Nachrichten empfangen.

Doch jetzt tut sich ein unheimlich merkwürdiges Problem auf:

Urplötzlich ist bei mir die empfangene Serverliste "SrvContactList" auf nur einen Eintrag beschränkt. SrvContactList.Count ist bei mir jetzt immer '1'. Und das NUR bei meiner 8stelligen UIN. Logge ich mich mit einer 9stelligen UIN ein, so werden alle Kontakte angezeigt. Ich werkel schon den ganzen Tag daran und der Quelltext ist korrekt. Mit der 8stelligen UIN klappt es nicht, mit der 9stelligen schon.

Hier mein Quelltext zum Abrufen:

Delphi-Quellcode:
procedure Tmain.icqServerListRecv(Sender: TObject; SrvContactList: TList);
var
  i: Word;
  UserInfo: TUINEntry;
  UINNickItem: PUINNickItem;
begin
  if SrvContactList.Count > 0 then
    for i := 0 to SrvContactList.Count - 1 do
    begin
      UserInfo := PUINEntry(SrvContactList.Items[i])^;
      if UserInfo.CType = 0 then
        begin
            GetMem(UINNickItem, SizeOf(UINNickItem^));
            UINNickItem^.UIN := UserInfo.UIN;
            UINNickItem^.Nick := UserInfo.Nick;
            UINNickList.Add(UINNickItem);
        end;
        UINNickList.Sort(CompareByName);
    end;

    for i := 0 to UINNickList.Count - 1 do
      begin
        if GetStatusFor(PUINNickItem(UINNickList.Items[i])^.UIN) <> 'DND' then
            begin
              UINNickListOnline.Add(UINNickList.Items[i]);
            end;
      end;

    UINNickListOnline.Sort(CompareByName);

    for i := 0 to UINNickListOnline.Count - 1 do
      begin
        kontaktliste.AddItem(PUINNickItem(UINNickListOnline.Items[i])^.Nick, Self);
      end;
    icq.DestroyUINList(SrvContactList);
end;

Hat noch wer schonmal das Problem gehabt?

SauberMann 27. Nov 2008 16:06

Re: TICQClient empfängt bei 8stelliger UIN keine Kontaktlist
 
TUINEntry, PUINNickItem
Was sind das für Datentypen?
Welche Fremdkomponenten benutzt du?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz