Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
ВнизИнтерфейсы и reinroduce Найти похожие ветки
← →
mfender © (2006-10-10 15:42) [0]Есть два класса:
TmfXMLLogMemo = class(TCustomMemo, ImfXMLLogMemo)
public
procedure Log(Data: string); virtual;
end;
TmfXMLExtLog = class(TmfXMLLogMemo, ImfXMLExtLog)
public
procedure Log(Data: string; RecType: string); reintroduce;
end;
И их интерфейсы:
ImfXMLLogMemo = interface(IInterface)
["{985E3293-E06B-41EA-B28D-091FEA31804F}"]
procedure Log(Data: string);
end;
ImfXMLExtLog = interface(ImfXMLLogMemo)
["{07656F85-3E51-48E6-A4E8-6B5F0238B047}"]
procedure Log(Data: string; RecType: string);
end;
Как сделать так, чтобы компилятор не ругался "Declaration of "Log" differs from declaration in interface "ImfXMLExtLog""? Объявить метод в интерфейсе (reintroduce) так же как в реализации пытался. В ответ получил "Unknown dirrective "reintroduce""... Что я опять не правильно делаю?
← →
mfender © (2006-10-10 16:04) [1]Ларчик просто открывался:
TmfXMLExtLog = class(TmfXMLLogMemo, ImfXMLExtLog)
public
procedure Log(Data: string; RecType: string); overload;
end;
← →
guav © (2006-10-10 16:05) [2]
TmfXMLExtLog = class(TmfXMLLogMemo, ImfXMLExtLog)
public
procedure ImfXMLExtLog.Log = ExtLog;
procedure ExtLog(Data: string; RecType: string);
end;
← →
mfender © (2006-10-10 16:18) [3]
> guav © (10.10.06 16:05) [2]
Классно! Спасибо! Даже не знал, что такое чудо можно в Delphi провернуть.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.043 c