Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
1-91750
DimaK
2003-07-15 08:47
2003.07.28
Проблема с выключением


14-91825
Алексей Глеб
2003-07-10 11:18
2003.07.28
Выключение компутера


7-91923
Delphi5.01
2003-05-17 20:23
2003.07.28
Kak otlovit kolichestvo stranic poslanix na pechat!


1-91720
Endi
2003-07-14 17:44
2003.07.28
Прозрачный TEdit


7-91930
iliann
2003-05-16 22:50
2003.07.28
мышь




   Наверх