Я пытаюсь создать дочерний класс TForm с
- специальный конструктор для определенных случаев и
- конструктор по умолчанию, который будет поддерживать совместимость с текущим кодом.
Это код, который у меня есть сейчас:
interface
TfrmEndoscopistSearch = class(TForm)
public
/// original constructor kept for compatibility
constructor Create(AOwner : TComponent); overload; override;
/// additional constructor allows for a caller-defined base data set
constructor Create(AOwner : TComponent; ADataSet : TDataSet; ACaption : string = ''); overload;
end;
Кажется, что работает, но я всегда получаю предупреждение от компилятора:
[Warning] test.pas(44): Method 'Create' hides virtual method of base type 'TCustomForm'
- Добавление "перегрузки"; после того, как второй конструктор не будет компилироваться. "[Ошибка] test.pas(44): Декларация" Создать "отличается от предыдущей декларации".
- делает второй конструктор функцией класса компилируется без каких-либо ошибок или предупреждений, но умирает с нарушением доступа во время выполнения (все члены vars равны нулю).