Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Operator not applicable to this operand type [D6, WinXP]


Страницы:   1 2 3

XP ©   (2005-03-01 12:24:00) 

Надоело об стену стучаться головой. Подскажите, пожалуйста.

unit urInterfaces;

interface

type
 IrIniFile = interface
   function GetData: string; stdcall;
 end;

...


//-----------------------------------------

unit urIniFile;

interfaces

uses
 urInterfaces;

type
 TrIniFile = class(TObject, IrIniFile)
 protected
   function GetData: string; stdcall;
 end;

implementation

uses
 urCore;

...


//-----------------------------------

unit urCore;

interface
 
uses
 urInterfaces, urIniFile;

type  
 TrCore = class
 private
   m_IniFile: IrIniFile;
 public
   constructor Create;
 end;

implementation

constructor TrCore.Create;
begin
 m_IniFile := TrIniFile.Create as IrIniFile; // остановка компилятора
end;


На месте остановки пишет: Operator not applicable to this operand type

Вместе с тем, TrIniFile явно объявлен как class(TObject, IrIniFile).

Кроме того, IDE упорно отказывается "ходить" по исходникам по Ctrl + LeftClick.

Все файлы лежат в одной папке. Больше нигде исходников нет - только в этой папке. То-есть, использование разных DCU исключено - специально перепроверил.

Что он хочет-то?... Где это я так сильно споткнулся?...


Чапаев   (2005-03-01 12:42:00) [41]

m_IniFile := TrIniFile.Create; -- а так?


Димон   (2005-03-01 12:40:00) [42]

или самому реализовать нужные методы


clickmaker   (2005-03-01 12:38:00) [43]

угу, должно быть TInterfacedObject


Димон   (2005-03-01 12:33:00) [44]


> Спасибо, Димон, за подсказку, но он там стоит.

слабо верится. Должно работать, если он стоит :)

Ты где его ставишь? Надо же внутри описания интерфейса. А ты где?

И вообще, почему потомок TObject? У тя работать не дожно, т.к. ты не реализовал _AddRef и прочие методы?


XP   (2005-03-01 12:30:00) [45]

Спасибо, Димон, за подсказку, но он там стоит.
Я в примере не привел, чтобы не засорять текст.


Димон   (2005-03-01 12:26:00) [46]

гуид проставь

ctrls+shilf+g ^)))


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо