Hi,
seit ein paar Tagen versuche ich mich an der ICQ Komponente TICQClient. Es sieht auch ganz gut aus. Ich habe nur ein Problem und das wäre die Kontaktliste. Wie kann ich einen User zur serverseitigen Kontaktliste hinzufügen? Ich kenn die procedure SSLAddUser() aber das geht nicht, ich weiß nicht warum. So sieht das erstmal bei mir aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.AddBtnClick(Sender: TObject); var Item: TListItem; begin if StrToInt(INEdt.Text) <> 0 then begin icq.SendAuthRequest(150926842,'Ich bins, es Tholmer Kindl'); end;
procedure TForm1.icqAuthResponse(Sender: TObject; UIN: String; Granted: Boolean; Reason: String); begin icq.SSLChangeStart(true); if Granted then icq.SSLAddUser(0010, 0025, UIN, '', '', False, False) else icq.SSLAddUser(0010, 0025, UIN, '', '', False, True); icq.SSLChangeEnd; end; procedure TForm1.icqSSLChangeResponse(Sender: TObject; ErrorCode: Word); begin EventMemo.Lines.Add(IntToStr(ErrorCode)); end; |
Ich habe mir das aus der Hilfe zu der Komponente abgeguckt. Da stellt sich mir die Frage der UserID 0025. In der Hilfe steht es soll ein Zufallswert zwischen 0 und 32... sein, heißt das das mehrere User in der Kontaktliste die gleiche UserID haben können? Auf jeden Fall habe ich nun einem Kumpel von mir über die oben angegeben Prozedur eine Erlaubnisanfrage geschickt, funktioniert *froi*. Dann nimmt er an und ich bekomme erstens eine Meldung 'Sie wurden von bla in seine Kontaktliste aufgenommen' und zweitens einen Fehlercode 0 von onSSLChangeResponse, dass bedeutet das der Benutzer evtl abgelehnt hat (obwohl er ja angenommen hat), oder er existiert nicht (kann nicht sein) oder der steht schon in der Liste (kann auch nicht sein, da nur einer bis jetzt in meiner Kontaktliste (von der neuen registerieten Nummer) steht und den habe ich übers normale ICQ hinzugefügt). Ich versteht auch nicht den Sinn von der StringList ContactList von TICQClient. Nochmal zusammengefasst: Das hinzufügen von Usern in die serverseitige Kontaktliste funktioniert nicht, schließlich will ich ja nicht nur von zuhause, wo ich die Kontaktliste in einer TextDatei schreiben könnt, sondern auch mal von woanders auf die ICQ Nummer zugreifen und die Kontakte haben. Evtl könnte mir noch einer die Logik von der TICQClient.ContactList erklären und was da dieses AddContact soll, mit der Prozedur konnte ich auch noch nichts anfangen.
Ich habe schon hier die Suche benutzt und auch Google. Ihr seit meine letzte Hoffnung
mfg, tholmer