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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2008, 10:47   #1
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию События, выполняемые во время работы созданной компоненты

Часть кода
Цитата:
var
ie: Tiehttp;
....
begin
ie:=TieHttp.Create(nil);
...
Далее, я создал получается ie, то есть его самого на форме нет. Далее у этой компоненты есть свойство которое выполняется во время того как идет работа с ie.
Суть вопроса, где, как и что прописать, чтобы мои указанные операторы выполнялись в событие OnPacketRead.
Вышеуказанный код выполняется в отдельном потоке
Denager вне форума Ответить с цитированием
Старый 22.04.2008, 11:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ie.OnPacketRead:=Та функция, которую ты хочеш назначить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2008, 11:17   #3
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию

Пробовал естественно)
Компилятор ругается и пишет что эвент и процудура как то между собой не катятся.
Denager вне форума Ответить с цитированием
Старый 22.04.2008, 11:24   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну дык я седня не телепат, и как ты там накалякал прожку не знаю )
Код то показывать надо - не жадничать )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2008, 11:28   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Так, а вы процедуру объявили, описали?
Ведь при назначении вам нужно написать что-то вроде
ie.OnPacketRead:=MyPacketRead;
причем procedure MyPacketRead() должна быть объявлена заранее и где-то описана в виде:
Код:
procedure TForm1.MyPacketRead();
begin
...
end;
mihali4 вне форума Ответить с цитированием
Старый 22.04.2008, 11:32   #6
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию

да, описал. Но там небольшие нюансы. Сейчас попробую выложить куски кода, чтобы было все видно
Denager вне форума Ответить с цитированием
Старый 22.04.2008, 11:36   #7
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию

В потоке
Цитата:
ie:=TieHttp.Create(nil);
ie.OnPacketRead:=OnPacketRead(ie);
Процедура
Цитата:
procedure OnPacketRead(IE:TieHttp);
var
s:string;
try
s:=ie.GetStringPercentage;
так как в процедуре нужно обращаться к свойствам этого ie, то нужно ее и передавать туда..
Или я вообще бред пишу? Просто сижу придумываю, как реализовать, без понятия как оно действительно делается
Denager вне форума Ответить с цитированием
Старый 22.04.2008, 11:55   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Надо так:
Код:
ie.OnPacketRead:=OnPacketRead;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2008, 11:56   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Давайте по порядку.
У себя я такого класса (TieHttp) не нашел.
Если у вас он есть, стало быть вы хотите использовать его стандартное событие OnPacketRead. А поскольку оно где-то описано, то ему назначен перечень параметров.
И, скорее всего, если и есть то, что вам нужно, то этот параметр называется Sender (инициатор события).
И поэтому вместо
procedure OnPacketRead(IE:TieHttp);
нужно писать просто
procedure OnPacketRead(Sender: TObject; ...... );
с перечислением всех "штатных" параметров. Тогда у вас не будет "вылазить" ошибка о несоответствии с формальными параметрами...
А при вызове этой процедуры указывать соответственно
OnPacketRead(ie, ....);

Последний раз редактировалось mihali4; 22.04.2008 в 12:06.
mihali4 вне форума Ответить с цитированием
Старый 22.04.2008, 11:58   #10
Denager
Москоу
Форумчанин
 
Регистрация: 29.01.2008
Сообщений: 138
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Надо так:
Код:
ie.OnPacketRead:=OnPacketRead;
вылазит ошибка
incompatible types:'method and procedure'
Denager вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
компоненты делфи для работы с php motorov Компоненты Delphi 5 10.08.2008 10:54
Компоненты для работы с SQL Родион БД в Delphi 4 18.06.2008 15:10
Создание компонентов во время работы программы Rusl92 Компоненты Delphi 23 05.04.2008 08:38
Время работы WINDOWS В_И_К_Т_О_Р Помощь студентам 8 30.01.2008 12:42
Время работы сортировок Боня Помощь студентам 1 10.02.2007 17:53