Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2013, 21:09   #1
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию Вызов обработчика событий

Добрый вечер.
Наткнулся на такую проблему, пишу свой модуль в котором idHttp создается так HTTP: IdHTTP; и в нем мне нужно вызвать обработчик события IdHTTP - OnDisconected но вот как это сделать даже нету предположений.
Буду благодарен за любую информацию.
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 15.03.2013, 21:18   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,050
По умолчанию

1. HTTP.OnDisconnected(HTTP);
2. HTTPDisconnected(HTTP);
Только зачем?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.03.2013, 21:22   #3
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Спасибо большое, а по другому через Indy токен не получишь из vk а я пишу свой модуль, а synapse использовать не хочу.
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 15.03.2013, 21:58   #4
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Что я делаю не так?

Код:
unit VkClient;

interface

uses
  SysUtils, Classes, IdHTTP, StrUtils, IdCookieManager, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdStack, IdIOHandler,
  IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdIntercept;

type
  TVkClient = class(TComponent)
  private
    procedure HTTPDisconnected(Sender: TObject); // ****************** ТУТ
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
  published
    constructor Create(aowner:Tcomponent);override;
  end;

   procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Vkontakte', [TVkClient]);
end;

constructor TVkClient.Create(aowner: Tcomponent);
begin
  inherited;
  HTTP := TIdHTTP.Create(nil);

  HTTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP);
  HTTP.CookieManager := TIdCookieManager.Create(HTTP);
  HTTP.HandleRedirects := True;

  HTTP.OnDisconnected:= HTTPDisconnected; // *********** ТУТ
end;

procedure TVkClient.HTTPDisconnected(Sender: TObject);
begin
  if Pos('access_token=',HTTP.Response.Location) <> 0 then
  begin
    Token := extract(HTTP.Response.Location, 'access_token=', '&');
  end;
end;
ShowMessage('Добро пожаловать!');

Последний раз редактировалось Alex2009; 15.03.2013 в 23:28.
Alex2009 вне форума Ответить с цитированием
Старый 16.03.2013, 01:33   #5
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Ребят неужели не кто не знает?
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 16.03.2013, 09:35   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,855
По умолчанию

Цитата:
Сообщение от Alex2009 Посмотреть сообщение
Добрый вечер.
Наткнулся на такую проблему, пишу свой модуль в котором idHttp создается так HTTP: IdHTTP; и в нем мне нужно вызвать обработчик события IdHTTP - OnDisconected но вот как это сделать даже нету предположений.
Буду благодарен за любую информацию.
Ткните в код, где он _объявляется_ , ибо эти слова относятся к объявляется, а не _создаётся_
Как раз у Вас в коде он создаётся
Код:
HTTP:= IdHTTP.Create(nil);
Но он не может быть присвоен в переменную, которая даже не объявлена.
phomm вне форума Ответить с цитированием
Старый 16.03.2013, 16:55   #7
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Ткните в код, где он _объявляется_ , ибо эти слова относятся к объявляется, а не _создаётся_
Как раз у Вас в коде он создаётся
Код:
HTTP:= IdHTTP.Create(nil);
Но он не может быть присвоен в переменную, которая даже не объявлена.
Вообще то он создается, в коде просто я кинул не все, и его похоже тоже удалил. Если бы не создал то получил бы (Ацесс волотион) или как там.

Проблема была в другом, вопрос решен всем спасибо.
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение обработчика событий bogdan333 C++ Builder 10 29.04.2012 03:25
Вложенный вызов обработчика ( проще - дублирование выполнения команды) DeKot Общие вопросы Delphi 2 08.01.2012 22:11
Создание обработчика событий объектов Caside Microsoft Office Excel 5 07.04.2011 12:54
Вызов событий, как в BackgroundWorker. Руслантус Общие вопросы .NET 2 11.01.2011 20:59
Вызов обработчика внутри собственной процедуры DeKot Общие вопросы Delphi 7 09.12.2009 19:13