У меня есть два класса - базовый класс и унаследованный класс следующим образом.
Базовый класс:
TAlarm = class(System.Object)
private:
protected:
public:
constructor (tag:TTagname);
end;
унаследованный класс:
TAlarmMsg = class(TAlarm)
public
constructor (aname:string);
method GetAlarmMsg:string; override;
method SendMsg(msg:string);
end;
конструкторы:
constructor TAlarm(tag:TTagname);
begin
Tagname := tag;
end;
constructor TAlarmMsg(aname:string);
begin
inherited TAlarm(aname); <========Here is my problem.
name := aname.ToCharArray;
end;
Независимо от того, что и как я вызываю или поиграйте с унаследованным конструктором, я продолжаю получать следующие сообщения об ошибках, когда компилирую исходный файл:
- Self не может быть доступен до завершения унаследованного конструктора. И / ИЛИ - Не удается найти подходящий конструктор в базовом классе, поэтому требуется ручной вызов унаследованного
Между прочим, я потратил добрые полдня на изучение этой проблемы и нашел хорошую информацию в Интернете. Пока ничего не помогает. Я даже нашел веб-страницу, которая прямо говорит о конструкторах в Википедии Delphi Prism ( http://prismwiki.embarcadero.com/en/Constructors ).
Итак, как бы вы сделали это правильно? Спасибо,