Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2010, 05:11   #1
Delphi009
Новичок
Джуниор
 
Регистрация: 06.01.2010
Сообщений: 3
Сообщение Создание компонентов без формы

Как при создании невизуального компонента работать с его событиями?
Например в IdTCPClient1 в событии OnDisconnected сделать запись в лог файл...
Delphi009 вне форума Ответить с цитированием
Старый 06.01.2010, 07:32   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

1.
Цитата:
Например в IdTCPClient1 в событии OnDisconnected сделать запись в лог файл...
IdTCPClient1 -> Object Inspector -> событии OnDisconnected ->DblClick ->описываем действия выполняющие запись в файл лога

2.
Код:
TMyForm=class(Tform)
     private
       procedure MYprocLog(.....);
    end;


procedure TMyForm.MyprocLog(....);
begin
 описываем действия выполняющие запись в файл лога
end;


IdTCPClient1.OnDisconnected:=MyprocLog;
3.
Код:
TmyComp=class(....)
    private
      procedure MyProcLog(;;;);
    public
      procedure AfterConstruction; override;
    end;
 
  procedure TmyComp.AfterConstruction;
  begin
    inherited;
    self.OnConnection:=myproclog;
  end;
  procedure TMyComp.MyprocLog(...);
  begin
  end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 06.01.2010 в 07:45.
evg_m на форуме Ответить с цитированием
Старый 06.01.2010, 08:06   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

evg_m, читаем внимательно.
форм нет.пока писал исправились=)


ТС, опишите свой класс. в нем напишите метод нужный(формат не забудьте).
потом создайте экземпляр класса.
и присвойте нужному событию ваш метод.

Код:
type 
 TMyClass=class
  procedure TCPClientDisconnect(Sender:TObject);
 end;

procedure TMyClass.TCPClientDisconnect(Sender:TObject);
begin
 //чтото делаем
end;

var A:TMyClass;
     TCP:TidTCPClient;

begin
 A:=TMyClass.Create;
 TCP:=TidTCPClient.Create;
 TCP.OnDisconnect:=A.TCPClientDisconnect;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 06.01.2010 в 08:08.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.01.2010, 16:41   #4
Delphi009
Новичок
Джуниор
 
Регистрация: 06.01.2010
Сообщений: 3
По умолчанию

Уточню вопрос: в программе я использую невизуальный компонент ICQClient, формы нет. Мне нужно чтобы программа реагировала на входящие сообщения (нужно получить текст сообщения и UIN), за это отвечает событие OnMessageRv. Подскажите пожалуйста как мне правильно создать класс и в дальнейшем его использовать.
Вот мой каркас программы:
Код:
program ICQ;

uses
  Windows,
  ICQClient,ICQWorks;

{$R *.res}


var
 icq:TICQClient;
begin
 icq:=TIcqClient.Create(nil);
 icq.ConvertToPlaintext := True;
 icq.ICQServer:='login.icq.com';
 icq.ICQServerViaHTTP:='http.proxy.icq.com';
 icq.PortRangeFirst:=3000;
 icq.PortRangeLast:=50000;
 icq.UIN:=UIN;
 icq.Password:=Password;

 try
  icq.Login(S_ALLOWDAUTH);
 except
  ShowMessage('No connect!');
 end;

 ICQ.LogOff;

end.

Последний раз редактировалось Delphi009; 07.01.2010 в 16:56.
Delphi009 вне форума Ответить с цитированием
Старый 07.01.2010, 16:56   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

вам-же evg_m и Пепел Феникса уже пояснили, насчет создания классов и событий ...сделайте по аналогии.
>>> тык <<<
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.01.2010, 16:58   #6
Delphi009
Новичок
Джуниор
 
Регистрация: 06.01.2010
Сообщений: 3
По умолчанию

спасибо, просто на реальном примере всегда проще что-то понять.
Delphi009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расширение формы и ее компонентов waterya Компоненты Delphi 1 01.11.2009 23:30
сохранение компонентов формы varelik Мультимедиа в Delphi 6 27.08.2009 14:06
Как без компонентов заарховировать папку? dolphin705 Общие вопросы Delphi 3 16.08.2009 15:26
Настройка формы и компонентов В_И_К_Т_О_Р Помощь студентам 2 05.02.2008 20:52
Печать компонентов формы monushka Помощь студентам 6 07.11.2007 19:30