Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.11;
Скачать: CL | DM;

Вниз

Как правильно реализовывывать наследников? property OnSM: TNotify   Найти похожие ветки 

 
Glex ©   (2006-04-05 08:19) [0]

Пишу наследник от TWebBrowser.

У класса  TWebBrowser есть свойство
   property OnBeforeNavigate2: TWebBrowserBeforeNavigate2;

Я хочу чтобы у наследника(TCustomizedWebBrowser) происходили задуманные мной действия.

Когда я писал наследники от классов, где не было Events, а были процедуры, я делал так

private
  procedure DefaultProc(Sender: TObject); override;

А в implementation доописывал этот DefaultProc(вначале добавлял inherited;, а дальше писал что мне надо).
Как сделать то же с OnBeforeNavigate?

Вот описание класса TWebBrowserBeforeNavigate2:
type TWebBrowserBeforeNavigate2 = procedure(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant; var Cancel: WordBool) of object;

PS: ..загадочный "of object"...


 
Плохиш ©   (2006-04-05 11:28) [1]


> PS: ..загадочный "of object"

Ничего загадочного, всё документировано. Это говорит о том, что процедура/функция является методом класса и в неё при вызове должен быть передан неявный параметр self, содержащий указатель на экземпляр класса.

> Я хочу чтобы у наследника(TCustomizedWebBrowser) происходили
> задуманные мной действия.

Не туда роешь, смотри в сторону методов Navigate и Navigate2.


 
Glex ©   (2006-04-05 17:36) [2]

А можно код.

Правильнее так?:
private
  property OnBeforeNavigate2: TWebBrowserBeforeNavigate2; override;
...

implementation
??
---

Спасибо за разъяснения по поводу of object


 
Плохиш ©   (2006-04-05 17:57) [3]


> Правильнее так?:

нет

> Спасибо за разъяснения по поводу of object

хоть что-то помогло.


 
Glex ©   (2006-04-11 18:09) [4]

А как правильнее?


 
Glex ©   (2006-05-01 23:47) [5]

up



Страницы: 1 вся ветка

Текущий архив: 2006.06.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
15-1147878308
Alien1769
2006-05-17 19:05
2006.06.11
Работа с файлами в одном файле


15-1147770025
Andy BitOff
2006-05-16 13:00
2006.06.11
Как отловить Stack overflow


3-1145346379
Sanych_K_A
2006-04-18 11:46
2006.06.11
Ошибка при подключении к FireBird


15-1147658354
Arazel
2006-05-15 05:59
2006.06.11
Пойск похожех слов по файлу (Как в DELPHI по CTRL+SPACE)


15-1147932648
Nic
2006-05-18 10:10
2006.06.11
Чем можно скомпилировать