Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизКак правильно реализовывывать наследников? 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.016 c