Форум: "Начинающим";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
ВнизСоздание класса на основе TIdHTTP Найти похожие ветки
← →
Nucer (2009-10-19 19:45) [0]Хочу создать класс на основе TidHTTP немного изменив конструктор (всего лишь дополнительная инициализация некоторых параметров).
THTTPClient = class(TIdHTTP)
public
constructor Create(CookieManager: TIdCookieManager = nil); override;
end;
constructor THTTPClient.Create(CookieManager: TIdCookieManager = nil);
begin
inherited Create(nil);
if Assigned(CookieManager) then Self.CookieManager := CookieManager;
Self.Request.UserAgent := "Tool";
...
end;
В итоге получаю warning:
Method "Create" hides virtual method of base type "TIdCustomHTTP"
Что сделано не так? Как исправить? Или на ошибку не стоит обращать внимания?
← →
DVM © (2009-10-19 20:05) [1]
> Как исправить?
override убрать?
← →
Nucer (2009-10-19 20:10) [2]Прошу прощения, с override вообще не компилируется (забыл убрать перед копирование на форум после очередной проверки).
Вот так получаю warning:THTTPClient = class(TIdHTTP)
public
constructor Create(CookieManager: TIdCookieManager = nil);
end;
Если добавить reintroduce, то предупреждения уже нет:THTTPClient = class(TIdHTTP)
public
constructor Create(CookieManager: TIdCookieManager = nil); reintroduce;
end;
К reintroduce можно добавить еще и overload (с первого взгляда ни на что не влияет, компилируется и работает без ошибок), но я не знаю, как именно в этой ситуации будет правильно.
← →
Nucer (2009-10-19 20:17) [3]Понял, overload не надо... В противном случае можно будет использовать оба конструктора.
← →
DVM © (2009-10-19 20:19) [4]
> Nucer
Разберитесь с этими словами override, overload, virtual, dynamic, reintroduce - все проблемы сразу отпадут. Описаны в любой хорошей книжке.
← →
Anatoly Podgoretsky © (2009-10-19 22:47) [5]> Nucer (19.10.2009 20:10:02) [2]
Зависит от того, что ты хочешь сделать, если скрыть то правильно, если нет то только создание конструктора с другим именем.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c