Je sépare mon code Delphi en unités d'interface et d'implémentation, par exemple.
EmployeeIntf.pas ressemble à ceci
type
// forward declaration
TScheduleList = class;
TDeparment = class;
TEmployee = class(BDObject)
....
function GetSchedules: TScheduleList;
function GetDepartment: TDepartment;
end;
TEmployeeList = class(DBList)
....
end;
TEmployeeDM = class(BDDBobject)
...
end;
Ensuite, j'ai les deux unités ScheduleIntf.pas & DépartementIntf.pas qui déclarent la classe TScheduleList et la classe TDepartment.
Ensuite, dans mon unité principale qui combine toutes les unités, cela ressemble à ceci,
Unit BusinessDomain
Interface
uses
classes
{$I Interface\EmployeeIntf.pas}
{$I Interface\DepartmentIntf.pas}
{$I Interface\ScheduleIntf.pas}
Implementation
uses
SysUtils
{$I Implementation\EmployeeImpl.pas}
{$I Implementation\DepartmentImpl.pas}
{$I Implementation\ScheduleImpl.pas}
Initialization
finalization
end.
Lorsque je compile ce fichier, le compilateur génère une erreur ;
*Type TScheduleList is not yet completely defined*
Comment puis-je avoir ces classes séparées dans chaque fichier d'unité (.pas) et ensuite faire des déclarations en avant sans que le compilateur jette cette erreur ?
Les classes elles-mêmes sont énormes et je préfère les séparer de cette façon.
Gath