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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2009, 21:54   #1
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию Заменить стандартное событие компонента при создании своего.

Здравствуйте.
Пишу свой компонент на основе embedded wb (по сути расширенный twebbrowser), мне необходимо заменить стандартное событие OnProgressChange, пишу
Код:
type 
...
private
  procedure ProgressChange(ASender: TObject; Progress,ProgressMax: Integer); override;
Выдаёт ошибку [Error] Unit.pas(17): Method 'ProgressChange' not found in base class, хотя такое событие у него есть. Что не так?
[Ferox]

Последний раз редактировалось postal2; 22.08.2009 в 22:12.
postal2 вне форума Ответить с цитированием
Старый 24.08.2009, 13:47   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

private вот что не так.
скинь свой Embedded WB(предка) я посмотрю что можно сделать
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.08.2009, 12:20   #3
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию

что конкретно скинуть, сам компонент / ссылку на скачивание или только pas компонента? (их там мнооого..)
В приложении всё до реализации процедур (переименуй в txt)
Вложения
Тип файла: html ewb.html (25.3 Кб, 124 просмотров)
[Ferox]

Последний раз редактировалось postal2; 26.08.2009 в 12:25.
postal2 вне форума Ответить с цитированием
Старый 27.08.2009, 13:14   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в том модуле что вы скинули действительно нет этого события...
может он вообще не переопределялся?
а остался от оригинала(переопределились иные)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.08.2009, 14:28   #5
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию

Возможно достался от предка.. Можно сравнить с похожим стандартным компонентом twebbrowser (вкладка интернет) WebBrowser.
[Ferox]
postal2 вне форума Ответить с цитированием
Старый 27.08.2009, 15:25   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Этот? http://www.google.com/codesearch/p?h...stomEmbeddedWB
Что значит заменить OnProgressChange, это же event? Обработчика нет, его нужно реализовать самому при создании класса и присвоить переменной FOnProgressChange указатель на него

Код:
type TEWB_V1ProgressChange = procedure(ASender: TObject; Progress: Integer; ProgressMax: Integer) of object;
...
 private
      FOnProgressChange: TEWB_V1ProgressChange;
 published
      property OnProgressChange: TEWB_V1ProgressChange read FOnProgressChange write FOnProgressChange;
пыщь
JTG вне форума Ответить с цитированием
Старый 28.08.2009, 11:01   #7
postal2
Форумчанин
 
Аватар для postal2
 
Регистрация: 31.10.2008
Сообщений: 215
По умолчанию

Да, этот.

Необходимо выполнить свой код при событии OnProgressChange (внутри компонента), после чего выполнить OnProgressChange, заданный пользователем (вне компонента)

JTG, спасибо, почти то, что нужно

Сейчас я (как вариант) не оставляю OnProgressChange вне компонента, т.е. в компоненте делаю отдельную процедуру и присваиваю ей OnProgressChange.
[Ferox]
postal2 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ощибка при попытке заменить компонент ogg Помощь студентам 3 16.07.2009 18:57
Событие при нажатии на клавиатуру BuT@JL Общие вопросы Delphi 8 26.06.2009 11:27
Проблема при создании компонента Levsha100 Компоненты Delphi 3 02.05.2009 12:05
Проблема перехвата сообщений при создании невизуального компонента volod3000 Компоненты Delphi 7 08.03.2009 14:13
При создании формы! Anton Помощь студентам 4 08.08.2007 08:20