Entwickler-Ecke
Internet / Netzwerk - ICQClient RequestInfo kriegt keine Antwort
Martok - So 10.09.06 12:02
Titel: ICQClient RequestInfo kriegt keine Antwort
Hallo,
ich bin dabei, einen ICQ-Client mit TICQClient/ICQLib zu schreiben. Dabei benutze ich die Funktion RequestInfo. Diese erhält aber keine Antwort vom Server! (mit Packetyzer überprüft) Somit kann ich von einem User keine Infos anzeigen.
Allerdings funktioniert die Demo vom ICQClient, als muss es irgendwie gehen. Soweit ich sehe, machen die auch nichts anderes als ich :( Das abgeschickte Paket sieht bei beiden gleich aus, also muss es vorher etwas sein. Aber was?
Mein bisheriger Code:
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: 25: 26: 27: 28: 29: 30:
| procedure TdmGlobals.GetContactInfo(P: Pointer); var n:PContactRec; begin ICQ.RequestInfo(Int64(p));
SearchState:= ssUserInfo; SearchData:= IntToStr(Int64(p)); n:= fmContacts.GetUINData(Int64(p)); if assigned(n) then begin n.Node.ClearItems; end; end;
procedure TdmGlobals.ICQUserFound(Sender: TObject; UIN, Nick, FirstName, LastName, Email: String; Status: Word; Gender, Age: Byte; SearchComplete, Authorize: Boolean); var n:PContactRec; begin n:= fmContacts.GetUINData(StrToInt64(UIN)); if (SearchState=ssUserInfo) and (SearchData=UIN)and assigned(n) then begin n.Node.Attributes['nick']:= Nick; n.Node.AddItem('FirstName').TextData:= FirstName; n.Node.AddItem('LastName').TextData:= LastName; n.Node.AddItem('Email').TextData:= Email; ActionQueue.AddAction(ACT_DISPLAYCONTACTS); end; end; |
Da ich hier einige Fragen zu dieser Kompo gefunden hab, scheint sich hier jemand damit auszukennen. Leider war nie was passendes dabei, daher meine Frage. BTW: auch Google hat nur ein Ergebnis, das mir auch nicht hilft.
Da ich schon einige Zeit an diesem Prob sitze, dreh ich langsam durch :twisted:
Also: Hilfäää!
Martok
Martok - Mo 11.09.06 10:50
*push*
Die Pakete sind wirklich identisch, ich hab eben alles durchgeguckt. Jedenfalls das was nich kryptisches Kram ist, da sind die Unterschiede auch nur 2-3 Byte.
Leute, ich brauch euch! :flehan: :flehan:
Sebastian
wulfskin - Mo 11.09.06 12:32
Hallo,
ich kann dir zwar bei deinem Problem nicht helfen, möchte dich aber auf die ICQ-API verweisen. Da wird das ganze dann wohl etwas länger, aber vielleicht klappt es ja damit.
Ich hatte bis jetzt keine Probleme damit, hab allerdings auch nicht viel damit gemacht!
Gruß Hape!
Xion - Mo 11.09.06 13:23
hmmm, ich würds so machen:
mit ICQClient.RequestInfo(UIN); nach infos suchen, dann in OnUserGeneralInfo auswerten.
Martok - Mo 11.09.06 16:22
Xion hat folgendes geschrieben: |
hmmm, ich würds so machen:
mit ICQClient.RequestInfo(UIN); nach infos suchen, dann in OnUserGeneralInfo auswerten. |
Der war gut :evil:
Genau das ist ja mein Problem. Ich kriege auf das RequestInfo keine Antwort. Hm, werde nochmal ne neue App zum Testen erstellen.
Martok
alias5000 - Mo 11.09.06 16:42
Der Unterschied liegt darin, in welchem Ereignis du das auswertest, wenn ich Xion richtig verstanden hab
Martok - Mo 11.09.06 16:49
Aso, nee, damit hats nix zu tun. Da hatte ich es vorher drin.
Und wie gesagt, der Server antwortet nicht. Von daher ist das Ereignis nebensächlich.
(Scheint nicht jeder zu wissen, Packetyzer ist ein Netzwerk-Monitoring-Tool wie Ethereal/jetzt Wireshark)
Martok - Mo 11.09.06 18:49
Erstmal vorne weg: :autsch: :autsch: :autsch: :autsch: :autsch: :autsch: :autsch: :autsch: :autsch: :autsch: :autsch: :autsch: *das tut weh*
Was fätt euch an dem folgenden Code auf?
Delphi-Quelltext
1:
| Int64(p) mit p:Pointer |
Pointer kann man nicht in Int64 Typecasten! mit DWORD gehts einwandfrei. Und das Ereignis ist OnGeneralInfo.
Jetzt weiß ich auch, dass mein XML-Parser nen Fehler hat. Ich könnte die bekommenen Daten gar nicht speichern. Naja, anderes Thema. Und wesentlich leichter zu beheben.
So, nachdem ich mir den Kopf kaputt gemacht habe, ist Partytime!
:beer: :dance2: :party: :dance: :party: :dance2: :beer:
ich liebe symmetrische Smiley-Sammlungen...Ich weiß, ich bin verrückt :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!