28.05.2007, 06:59 | #1 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
TICQClient - исправления, дополнения и прочее
В этой теме будут выкладываться исправления и дополнения к компоненту TICQClient от Кобана для Delphi.
Компонент, актуально работающий на 13.08.2010 скачать: TICQClient Пример работы с компонентом: скачать: СheatICQ Официальный хелп от coban2k скачать: TICQClientHelp.rar ============================== Оригинальный компонент (с демо): скачать Компонент с работающими прокси и кодировками скачать тут Компонент от Romen'a (с демо): - движок на ICQ - к архиве есть все необходимые модули (для WSocket'a от ICS 1.4, плюс из RxLib несколько модулей) - из компонента убрано все "лишнее" скачать Демки делались в Turbo Delphi 2006, поэтому если вы будете собирать их под Delphi 7 и ниже не забудте в насткойках проекта указать пути, иначе среда не найдет эти модули и будет ругаться на их отсутствие. 1) Project -> Options 2) Закладка Directories/Conditionals 3) -> Units output directory: Units -> Search path: ICQClient Последний раз редактировалось DjFly; 04.02.2012 в 20:23. |
06.10.2007, 16:41 | #51 |
Участник
Регистрация: 24.08.2007
Сообщений: 32
ICQ: 213596714 Репутация: 13
|
Привет Всем
Проблема с выгрузкой аватарки на сервер Как я понял для выгрузки аватары нужен приход SNAC(01,21) с сервера Вызываю UploadAvatar приходит только SNAC(13,0E) (errcode=0) Из за чего не приходит SNAC(01,21) ? или почему ещё она может не загрузится на сервер?
__________________
Автор ICQ Клиента c Flash Интерфейсом LEPRICON FLASH ICQ |
06.10.2007, 20:41 | #52 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
SirJohn, не те функции используешь. Смотри хелп и функции SSLxxx
__________________
Мой блог - Mac, Qt и немного Delphi. |
Плюсанул Sax-mmS : |
08.10.2007, 21:22 | #53 | |
Участник
Регистрация: 06.08.2007
Сообщений: 6
Репутация: 10
|
Цитата:
Если востребовано - посмотрю |
|
16.10.2007, 13:42 | #54 |
Участник
Регистрация: 16.10.2007
Сообщений: 1
Репутация: 1
|
Не обрабатывается серверный контакт-лист при запросе. В снифере смотрела - все в норме. Ну а когда доходит дело до обработки контакт-листа, в процедуре HSnac1306 читается только строка GetTLVInt(Pkt, T); if T <> 6 then Exit; Потом ничего не происходит, КЛ не загружается в программу.
Вот. К чему эта Т? Что она делает? Смотрела во всех вариациях компонента, эта процедура почти везде одинакова. |
22.10.2007, 12:34 | #55 |
Участник
Регистрация: 22.10.2007
Сообщений: 20
Репутация: 2
|
Вопрос по сниферу
Кто нибудь подкажите или поделитесь хорошим снифером для Icq.
|
22.10.2007, 12:41 | #56 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
Если локальный, для изучения протокола - тут
__________________
Мой блог - Mac, Qt и немного Delphi. |
Плюсанул Sax-mmS : |
23.10.2007, 18:00 | #57 |
Участник
Регистрация: 18.02.2007
Сообщений: 13
Репутация: 1
|
Наконец-то нашел где могут реально помочь... вообщем трабл тут:
Код:
procedure TForm1.ICQClient1AddedYou(Sender: TObject; UIN: String); begin SetStatus('Контакт'+UIN+' добавил вас',1); ICQClient1.AddContact(StrToInt(UIN)); ICQClient1.SendYouWereAdded(StrToInt(UIN)); end; //Перепроверил - оказалось что вообще это событие не работает. ЗЫ перечитал весь топик. Кто-то говорил мол по-своему клиент назвать нельзя а квип на самом деле всевидящий . Могу 100% опровергнуть: у знакомого стоит название "Это аська ЗАМИРА" (нерусский чел) в поле где пишется клиент. Последний раз редактировалось CTAJluH; 23.10.2007 в 18:40. |
23.10.2007, 19:36 | #58 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
CTAJluH, по поводу добавления контакта - это пост.
По поводу SendYouWereAdded и события ничего сказать не могу. Компонент какой версии или модификации?
__________________
Мой блог - Mac, Qt и немного Delphi. |
29.10.2007, 09:10 | #60 |
Участник
Регистрация: 22.10.2007
Сообщений: 20
Репутация: 2
|
Не работают события OnStatusChange и OnAddedYou.
Не работают события OnStatusChange и OnAddedYou.
то же самое сборка с {Includes patches from Saif.N for Support Web Pager } протокол - ICQ_PROTOCOL_VER = $0007 Что делать? |
29.10.2007, 14:26 | #61 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
Это все связано с последними изменениями на серверах АОЛ.
Это рабтает только с серверными авторизованными контактами.
__________________
Мой блог - Mac, Qt и немного Delphi. |
29.10.2007, 20:05 | #62 | |
Участник
Регистрация: 18.02.2007
Сообщений: 13
Репутация: 1
|
Цитата:
Зато увидел интересную особенность: стоит контакту написать хоть одно сообщение и события начаниют работать! |
|
01.11.2007, 20:39 | #63 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
Там при этом же вроде тоже вызывается OnConnectionFailed. Ну уж OnDisconnected точно должен вызываться.
__________________
Мой блог - Mac, Qt и немного Delphi. |
01.11.2007, 23:57 | #64 |
Участник
Регистрация: 18.02.2007
Сообщений: 13
Репутация: 1
|
А это что за событие такое? Оо
Добавлено через 48 секунд Точнее, что за событие-то, мне понятно, но у меня такого нет :) и в мануале нет про него. Последний раз редактировалось CTAJluH; 01.11.2007 в 23:58. Причина: Добавлено сообщение |
02.11.2007, 01:35 | #65 |
Участник
Регистрация: 04.05.2005
Сообщений: 23
Репутация: 5
|
Не получается подключаться через прокси. Ни в оригинальном компоненте Кобана, ни в модификации Романа.
Код: ICQClient.ProxyType := P_SOCKS5; ICQClient.ProxyHost := '89.176.243.14'; ICQClient.ProxyPort := '1093'; Что делаю не так? |
02.11.2007, 06:59 | #66 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
А какой сервер/порт подключения? Желательно не login.icq.com и порт 443.
__________________
Мой блог - Mac, Qt и немного Delphi. |
03.11.2007, 03:36 | #67 | |
Участник
Регистрация: 23.07.2007
Сообщений: 13
Репутация: 1
|
Цитата:
Праверьти код, если не затруднит. Всё правильно? Код:
procedure Conn; begin ICQClient:= TICQClient.Create(nil); ICQClient.ICQServer:= Host; ICQClient.ICQPort:= Port; ICQClient.OnError:= ICQClientError; ICQClient.OnLogin:= ICQClientLoginSend; ICQClient.OnProxyConnected:= ICQClientProxyConnected; ICQClient.OnUserFound:= ICQClientUserFound; ICQClient.OnUserNotFound:= ICQClientNoUserFound; ICQClient.UIN:= StrToInt(ICQLogin); ICQClient.Password:= ICQPass; ICQClient.Login(); end; Код:
procedure ICQClientProxyConnected(Sender: TObject; ErrCode: Word); var Checked: TProxyType; begin case ProxyIF of 0: Checked:= P_NONE; 1: Checked:= P_SOCKS4; 2: Checked:= P_SOCKS5; // 3: Checked := P_HTTP end; ICQClient.ProxyType:= Checked; ICQClient.DisableDirectConnections := TRUE; ICQClient.ProxyResolve:= TRUE; //TRUE ICQClient.ProxyAuth:= FALSE; if ICQClient.ProxyType = P_HTTP then ICQClient.ICQPort := '443'; ICQClient.ProxyHost:= HostProxy; ICQClient.ProxyPort:= PortProxy; ICQClient.ConnectionTimeout := 15 end; Последний раз редактировалось eXa; 03.11.2007 в 03:41. |
|
03.11.2007, 11:08 | #68 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
eXa, удивительно, если бы это работало. ICQClientProxyConnected это просто событие, оповещающее, что первичное подключение через прокси прошло или нет. Все что ты задаешь в ICQClientProxyConnected надо прописывать до ICQClient.Login();
__________________
Мой блог - Mac, Qt и немного Delphi. |
03.11.2007, 14:39 | #70 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
Теоретический да. В сорцах есть возможность отключить формы делфи, вот тока придется переписывать функционал клсаа Application, т.к. клиент подвязан на его системе обработки собщений Windows.
__________________
Мой блог - Mac, Qt и немного Delphi. |
06.11.2007, 09:25 | #71 | |
Участник
Регистрация: 21.11.2006
Сообщений: 47
ICQ: 232521 Репутация: 13
|
Цитата:
Код:
OnConnectionFailed // здесь только если физически произошло разъединение с сервером // после ошибки сюда не попадаем // 1, 'error icq login' // 2, 'error icq disconnect' // ErrCode, 'error connect host down' // ErrCode, 'error rcv data' // ErrCode, 'error connect proxy bad' |
|
Плюсанул Romen : |
06.11.2007, 13:29 | #72 | |
Участник
Регистрация: 18.02.2007
Сообщений: 13
Репутация: 1
|
Romen, опять вы мне про этот КоннекшнФайлд.
Цитата:
А мне надо если был приконнектен и связь пропала. |
|
06.11.2007, 13:45 | #73 |
Участник
Регистрация: 25.06.2005
Сообщений: 38
ICQ: 534555 Репутация: 4
|
Всё правильно люди тебя говорят.
Используй OnConnectionFailed(Sender: TObject). Только что проверил: при физическом отключении от и-нета вызывается OnConnectionFailed, что и требовалось доказать.
__________________
Софт на заказ Контакт: 534555 |
07.11.2007, 16:37 | #74 |
Участник
Регистрация: 22.10.2007
Сообщений: 20
Репутация: 2
|
Стал использовать сборку от Romena.
Не работает событие OnStatusChange даже с авторизованными пользователями. Что делать. |
08.11.2007, 11:44 | #75 |
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
После шаманств на сервере на многих номерах работает тока серверный лист. Так что сначала контакты должны быть на сервевер, а при подключени добавлены ростер (AddContact, AddContactMulti)
__________________
Мой блог - Mac, Qt и немного Delphi. |
Метки |
delphi, ticqclient |
Опции темы | |
Оценка этой теме | |
|
|