Icqclient

Тема в разделе "Delphi - Компоненты", создана пользователем Port111, 17 янв 2009.

  1. Port111

    Port111 Member

    Регистрация:
    17 янв 2009
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте. Использую в своей программе компонент ICQClient v1.34
    Мне необходимо чтобы когда в программе происходило определенное действие отправлялось сообщение на мне на аську.
    Но проблема в следующем, если программу запущенна в нескольких экземплярах одновременно или UIN отправили в тайм аут (если программу запускали много раз), то icqclient не коннектится ... тогда мне необходимо чтобы icqclient использовал для отправки другой UIN.
    В связи с этим у меня несколько проблем:

    1. Если хочу использовать событие OnError

    <!--shcode--><pre><code class='Delphi'>procedure ICQClient1Error(Sender: TObject; ErrorType: TErrorType;
    ErrorMsg: String);[/CODE]

    то Delphi выдает ошибку [Error] Unit1.pas(72): Undeclared identifier: 'TErrorType'
    Почему и как поправить?

    2. Так как событие OnError я не могу использовать, то использую событие ICQClient1ConnectionFailed.
    ТО есть если оно происходит мне надо подключиться под другим UIN'ом из списка.
    Написал процедуру

    <!--shcode--><pre><code class='Delphi'>procedure TForm1.ICQEnter(icqclient :TICQClient);
    begin
    case EnterUIN of
    0:
    begin
    icqclient.UIN:=111111;
    icqclient.Password:='123456';
    icqclient.Login(0);
    end;
    1:
    begin
    icqclient.UIN:=2222222;
    icqclient.Password:='123456';
    icqclient.Login(0);
    end;
    2:
    begin
    icqclient.UIN:=333333;
    icqclient.Password:='123456';
    icqclient.Login(0);
    end
    else
    begin
    icqclient.UIN:=4444444;
    icqclient.Password:='123456';
    icqclient.Login(0);
    end;
    end;
    end;[/CODE]

    и вызываю её в событии ICQClient1ConnectionFailed

    <!--shcode--><pre><code class='Delphi'>EnterUIN:=EnterUIN+1;
    ICQEnter(ICQClient1);[/CODE]

    Для проверки, специально ложил первый UIN в тайм аут и запускал.
    Происходит следующие: Событие ICQClient1ConnectionFailed срабатывает
    EnterUIN увеличивается и становиться равным 1, потом выполняется кусок из case of

    <!--shcode--><pre><code class='Delphi'> 1:
    begin
    icqclient.UIN:=2222222;
    icqclient.Password:='123456';
    icqclient.Login(0);
    end;[/CODE]

    И всё и НЕ логиниться и НЕ вызывается событытия ICQClient1ConnectionFailed

    Пожалуйста помогите...что не так?
    Заранее спасибо
     
  2. FBUS

    FBUS Well-Known Member

    Регистрация:
    12 мар 2008
    Сообщения:
    57
    Симпатии:
    0
    короче на сколько я понял ты пишешь брутфорс... :)

    попробуй использовать что-то натипа

    try
    IcqClient1.Login;
    except
    <этот кусок кода выполняется при ошибке>
    end;
     
  3. Port111

    Port111 Member

    Регистрация:
    17 янв 2009
    Сообщения:
    5
    Симпатии:
    0
    Это не брутфорс... моя программа просто будет отсылать рузультаты опроса пользователя мне на аську.... и так как программа будет сразу запущена на нескольких компах, то возникает вышеупомянутая проблема.
    Пробавал, не помогло
    Проблемы решил разместив на форме 2 ICQClient компонента и поочередно их использовал.... тогда всё заработало!
    Спасибо всем.
     

Поделиться этой страницей