Форум: "Начинающим";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
Вниз
как перекрыть конструктор Create Найти похожие ветки
← →
pound © (2007-03-01 18:25) [0]Подскажите, как перекрыть конструктор Create.
type
TMyType = class(TComponent)
public
constructor Create; override;
end;
implementation
{ TMyType }
constructor TMyType.Create;
begin
inherited Create; или inherited Create(Owner);
...
end;
Компилятор: [Error] Unit1.pas(14): Declaration of "Create" differs from previous declaration.
И ещё я хотел бы ввести в конструктор Create параметр типа:
type
TMyType = class(TComponent)
public
constructor Create(s: string); override;
Procedure MyOpen(s: string);
end;
implementation
{ TMyType }
constructor TMyType.Create(s: string);
begin
inherited Create;
MyOpen(s);
...
end;
← →
Ega23 © (2007-03-01 18:26) [1]override убери
← →
Аноним (2007-03-01 21:00) [2]TMyType = class(TComponent)
public
constructor Create(AOwner: TComponent); override;
end;
ps
не надо изменять прототип конструктора компонета
ИБо, брошенный на форму в дезайн тайме, в ран тайме этот другой конструктор никто не вызовет
ИЛи используй стандартный конструктор, а всякие таам s: string организовывй в виде свойств
или меняй предка
← →
Kolan © (2007-03-01 21:13) [3]> constructor Create(s: string); override;
может сделать overload; консруктор ?
← →
Аноним (2007-03-01 21:23) [4]
> Kolan ©
> может сделать overload; консруктор ?
Не верю, что такое может понадобиться в реальной жизни применителько к компоненту.
Приведите пример
← →
Kolan © (2007-03-01 21:29) [5]Да с "компонентом" плохо выходит, неучёл.
А вот с прямым наследником TObject.constructor Create(); oveload; - тут s по умолчанию.
constructor Create(s: string); overload; a тут заданое.
← →
Аноним (2007-03-01 21:34) [6]
> Kolan ©
Ну про TObject никто и не спорит )
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.091 c