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

Вниз

Переопределение стандартной функции   Найти похожие ветки 

 
avkiev   (2003-07-08 11:45) [0]

Как переопределить стандартную функцию ?
Я использую класс TStreamAdapter и хочу изменить алгоритм работы его функции Stat. Для этого нужно
полностью скопировать его определение в свой проект, изменить имя класса и делать с ним что хочу
или
есть некая синтаксическая конструкция, позволяющая избежать всего этого и переопределить только одну конкретную функцию ?
Заранее благодарен


 
Radionov Alexey ©   (2003-07-08 11:51) [1]

Механизм наследования. Создавай потомка и перекрывай метод (если он виртуальный)


 
Radionov Alexey ©   (2003-07-08 11:54) [2]

А он как раз виртуальный.
TMyStreamAdapter = class(TStreamAdapter)
function Stat(out statstg: TStatStg;
grfStatFlag: Longint): HResult; override;
end;

.............


 
avkiev   (2003-07-08 12:30) [3]

Создал потомка.

type TMyStreamAdapter = class(TStreamAdapter)
function Stat(out statstg: TStatStg; grfStatFlag: Longint): HResult; override;
end;

Но в моей функции TMyStreamAdapter.Stat переменная FStream равна nil. Видимо, ее тоже нужно как-то описывать в определении класса ?


 
avkiev   (2003-07-08 12:35) [4]

Вернее, она просто не видна ...


 
avkiev   (2003-07-08 13:08) [5]

Спасибо, Алексей, все получилось


 
Семен Сорокин ©   (2003-07-08 14:11) [6]

может директива reintroduce поможет?


 
Radionov Alexey ©   (2003-07-08 14:15) [7]

Чему поможет?


 
Семен Сорокин ©   (2003-07-08 14:18) [8]

Radionov Alexey © (08.07.03 14:15)
не так понял вопрос, сорри, думал переопределить нада :)



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

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

Наверх




Память: 0.48 MB
Время: 0.02 c
3-67680
Александр Ч_
2003-06-26 16:58
2003.07.21
Перебор записей в DataSet


3-67705
ses
2003-06-27 11:06
2003.07.21
что быстрее работает


14-68056
_Alex_
2003-07-03 21:03
2003.07.21
Delphi 7 и TServerSocket


3-67665
oss
2003-06-26 11:47
2003.07.21
пользователь по умолчанию для MS SQL


1-67817
clickmaker
2003-07-07 20:24
2003.07.21
Параметр lcid в TExcelApplication.Workbooks