Главная страница
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.017 c
6-91781
MegaVolt
2003-05-19 16:39
2003.07.28
Почему виснет функция WNetOpenEnum..WNetEnumResource..WNetCloseEn


14-91911
zeratul_pr
2003-07-11 23:19
2003.07.28
Компоненты


3-91648
McSimm2
2003-07-03 16:30
2003.07.28
[Oracle] вернуть


14-91868
Radionov Alexey
2003-07-11 07:26
2003.07.28
Цветовая задачка.


14-91904
Dmitriy O.
2003-07-09 15:08
2003.07.28
Некие принципиальные механизмы создания самообучающихся программ