Форум: "Основная";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];
ВнизПереопределение стандартной функции Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c