![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Непонятная ошибка компиляции
Unknown user © (2012-04-20 11:00:00)Подскажите, пожалуйста, где я туплю. Имеется такой код
TchkXMLDoc = class(TXMLDocument, IchkXMLDoc, IchkXMLDoc2)
public
function IchkXMLDoc.AddDocumentElement = AddDocumentElement;
function IchkXMLDoc2.AddDocumentElement = AddDocumentElement2;
function AddDocumentElement(const Tag: WideString): IchkXMLNode; safecall;
function AddDocumentElement2(const Tag: WideString): IXMLNode; safecall;
...
Оба интерфейса декларируют метод AddDocumentElement. Компилятор выдает ошибку:
[DCC Error] chkXML.pas(12): E2003 Undeclared identifier: 'AddDocumentElement2'
Anatoly Podgoretsky (2012-04-20 11:54:00) [1]> Unknown user (20.04.2012 11:39:02) [2]
Ниже этого пока неизвестно
Unknown user (2012-04-20 11:47:00) [2]>Anatoly Podgoretsky
Все. Я понял, о чем вы. Проглядел. В интерфейсе используется тип string вместо WideString. Проблема решена. Спасибо.
Unknown user (2012-04-20 11:39:00) [3]Ну так ниже объявлена функция
function AddDocumentElement2(const Tag: WideString): IXMLNode; safecall;
а
function IchkXMLDoc2.AddDocumentElement = AddDocumentElement2;
просто задает псевдоним для IchkXMLDoc2.AddDocumentElement
В обоих интерфейсах присутствует метод с одинаковым названием AddDocumentElement
Anatoly Podgoretsky (2012-04-20 11:36:00) [4]Откуда известно?
function IchkXMLDoc2.AddDocumentElement = AddDocumentElement2;