![]() |
|
|
#1 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
В этой теме будут выкладываться исправления и дополнения к компоненту 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 в 19:23. |
|
|
|
|
#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 |
|
|
|
|
#52 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
SirJohn, не те функции используешь. Смотри хелп и функции SSLxxx
__________________
Мой блог - Mac, Qt и немного Delphi. |
|
|
| Плюсанул Sax-mmS : |
|
|
#53 | |
|
Участник
Регистрация: 06.08.2007
Сообщений: 6
Репутация: 10
|
Цитата:
Если востребовано - посмотрю |
|
|
|
|
|
#54 |
|
Участник
Регистрация: 16.10.2007
Сообщений: 1
Репутация: 1
|
Не обрабатывается серверный контакт-лист при запросе. В снифере смотрела - все в норме. Ну а когда доходит дело до обработки контакт-листа, в процедуре HSnac1306 читается только строка GetTLVInt(Pkt, T); if T <> 6 then Exit; Потом ничего не происходит, КЛ не загружается в программу.
Вот. К чему эта Т? Что она делает? Смотрела во всех вариациях компонента, эта процедура почти везде одинакова. |
|
|
|
|
#55 |
|
Участник
Регистрация: 22.10.2007
Сообщений: 20
Репутация: 2
|
Кто нибудь подкажите или поделитесь хорошим снифером для Icq.
|
|
|
|
|
#56 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
Если локальный, для изучения протокола - тут
__________________
Мой блог - Mac, Qt и немного Delphi. |
|
|
| Плюсанул Sax-mmS : |
|
|
#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 в 17:40. |
|
|
|
|
#58 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
CTAJluH, по поводу добавления контакта - это пост.
По поводу SendYouWereAdded и события ничего сказать не могу. Компонент какой версии или модификации?
__________________
Мой блог - Mac, Qt и немного Delphi. |
|
|
|
|
#60 |
|
Участник
Регистрация: 22.10.2007
Сообщений: 20
Репутация: 2
|
Не работают события OnStatusChange и OnAddedYou.
то же самое сборка с {Includes patches from Saif.N for Support Web Pager } протокол - ICQ_PROTOCOL_VER = $0007 Что делать? |
|
|
|
|
#61 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
Это все связано с последними изменениями на серверах АОЛ.
Это рабтает только с серверными авторизованными контактами.
__________________
Мой блог - Mac, Qt и немного Delphi. |
|
|
|
|
#62 | |
|
Участник
Регистрация: 18.02.2007
Сообщений: 13
Репутация: 1
|
Цитата:
Зато увидел интересную особенность: стоит контакту написать хоть одно сообщение и события начаниют работать! |
|
|
|
|
|
#63 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
Там при этом же вроде тоже вызывается OnConnectionFailed. Ну уж OnDisconnected точно должен вызываться.
__________________
Мой блог - Mac, Qt и немного Delphi. |
|
|
|
|
#64 |
|
Участник
Регистрация: 18.02.2007
Сообщений: 13
Репутация: 1
|
А это что за событие такое? Оо
Добавлено через 48 секунд Точнее, что за событие-то, мне понятно, но у меня такого нет :) и в мануале нет про него. Последний раз редактировалось CTAJluH; 01.11.2007 в 23:58. Причина: Добавлено сообщение |
|
|
|
|
#65 |
|
Участник
Регистрация: 04.05.2005
Сообщений: 23
Репутация: 5
|
Не получается подключаться через прокси. Ни в оригинальном компоненте Кобана, ни в модификации Романа.
Код: ICQClient.ProxyType := P_SOCKS5; ICQClient.ProxyHost := '89.176.243.14'; ICQClient.ProxyPort := '1093'; Что делаю не так? |
|
|
|
|
#66 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
А какой сервер/порт подключения? Желательно не login.icq.com и порт 443.
__________________
Мой блог - Mac, Qt и немного Delphi. |
|
|
|
|
#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. |
|
|
|
|
|
#68 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
eXa, удивительно, если бы это работало. ICQClientProxyConnected это просто событие, оповещающее, что первичное подключение через прокси прошло или нет. Все что ты задаешь в ICQClientProxyConnected надо прописывать до ICQClient.Login();
__________________
Мой блог - Mac, Qt и немного Delphi. |
|
|
|
|
#70 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
Теоретический да. В сорцах есть возможность отключить формы делфи, вот тока придется переписывать функционал клсаа Application, т.к. клиент подвязан на его системе обработки собщений Windows.
__________________
Мой блог - Mac, Qt и немного Delphi. |
|
|
|
|
#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 : |
|
|
#72 | |
|
Участник
Регистрация: 18.02.2007
Сообщений: 13
Репутация: 1
|
Romen, опять вы мне про этот КоннекшнФайлд.
Цитата:
А мне надо если был приконнектен и связь пропала. |
|
|
|
|
|
#73 |
|
Участник
Регистрация: 25.06.2005
Сообщений: 38
ICQ: 534555 Репутация: 4
|
Всё правильно люди тебя говорят.
![]() Используй OnConnectionFailed(Sender: TObject). Только что проверил: при физическом отключении от и-нета вызывается OnConnectionFailed, что и требовалось доказать.
__________________
Софт на заказ ![]() Контакт: 534555
|
|
|
|
|
#74 |
|
Участник
Регистрация: 22.10.2007
Сообщений: 20
Репутация: 2
|
Стал использовать сборку от Romena.
Не работает событие OnStatusChange даже с авторизованными пользователями. Что делать. |
|
|
|
|
#75 |
|
Участник
Регистрация: 06.08.2006
Сообщений: 243
ICQ: 272727765 Репутация: 406
|
После шаманств на сервере на многих номерах работает тока серверный лист. Так что сначала контакты должны быть на сервевер, а при подключени добавлены ростер (AddContact, AddContactMulti)
__________________
Мой блог - Mac, Qt и немного Delphi. |
|
|
| Метки |
| delphi, ticqclient |
| Опции темы | |
| Оценка этой теме | |
|
|