Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.28;
Скачать: CL | DM;

Вниз

Дельфи 5 или код ?   Найти похожие ветки 

 
VID ©   (2003-07-14 23:39) [0]

uses
Windows, Messages, SysUtils, Classes, FIBQuery, pFIBQuery,pFIBProps,pFIBDatabase,FIBDatabase,pFIBDataset;

type
TIBQuery=class;

TTranslateIBXField=class
private
FOwner:tibquery;
function GetDefRef(const Idx: Integer): TFIBXSQLVAR;
procedure SetDefRef(const Idx: Integer; const Value: TFIBXSQLVAR);
public
property DefRef[const Idx: Integer]: TFIBXSQLVAR read GetDefRef write SetDefRef;default;
function Count:integer;
constructor create(owner:tibQuery);
end;
---------------------
это малая часть одного юнита.
при компиляции получаю ошибку
[Error] ibquery.pas(9): Type "TIBQuery" is not yet completely defined
а курсор переходит в

type
TIBQuery=class;


как решить эту проблему ? (delphi5)


 
Ihor Osov'yak ©   (2003-07-14 23:45) [1]

> как решить эту проблему ? (delphi5)

Сделать то, что она просит. То есть "completely defined
"

Хотя бы так:





TIBQuery=class;

TTranslateIBXField=class
private
FOwner:tibquery;
function GetDefRef(const Idx: Integer): TFIBXSQLVAR;
procedure SetDefRef(const Idx: Integer; const Value: TFIBXSQLVAR);
public
property DefRef[const Idx: Integer]: TFIBXSQLVAR read GetDefRef write SetDefRef;default;
function Count:integer;
constructor create(owner:tibQuery);
end;


TIBQuery=class

end;




 
VID ©   (2003-07-14 23:57) [2]

type
TIBQuery=class;
предполагается как форвард-описание класса
переиначу вопрос
как корректно проделать форвард-описание класса в дельфи5 ?


 
Ihor Osov'yak ©   (2003-07-15 00:49) [3]

Так, как я привел пример.

Фактически, это не форвард-декларация, это определение поинтера (в делфи все экземпляра классса - диначеские). И здесь действует правило для форвард-описаний типизированных указателей - если декларация типизированного указателя идет перед соотв. типом, то это должно быть в одной секции type.

То есть следующая конструкция корректна:

type
TIBQuery=class;
TIBQuery=class

end;


а вот это - уже нет:

type
TIBQuery=class;
type
TIBQuery=class

end;




Страницы: 1 вся ветка

Текущий архив: 2003.07.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
14-91901
Jumbo
2003-07-12 17:51
2003.07.28
Дискеты и CD-диски


7-91917
zhenya
2003-05-18 23:16
2003.07.28
Modem?


11-91699
Bartov
2002-11-22 14:51
2003.07.28
ImageList


8-91773
Intell
2003-04-05 12:48
2003.07.28
Как создать новый (пустой FileName) в TMediaPlayer?


14-91836
Hollywood
2003-07-10 19:10
2003.07.28
А как вообще зарегистрироваться на этом форуме?