i travailler avec la surcharge de l'opérateur, et j'ai cette situation, fra un côté:F2047 unité circulaire référence
unit _TIns;
interface
uses
_TExtract;
type
TIns = record
private type
TInsArray = array [1..90] of Boolean;
var
FInsArray: TInsArray;
public
class operator Implicit(const Value: TExtract): TIns;
class operator Implicit(const Value: TIns): TExtract;
end;
implementation
// Code
end.
et, de l'autre côté:
unit _TExtract;
interface
uses
_TIns;
type
TExtract = record
private type
TExtractEnum = 1 .. 90;
var
FExtractEnum: TExtractEnum;
public
class operator Implicit(const Value: Integer): TExtract;
class operator Implicit(const Value: TExtract): Integer;
class operator In(A: TExtract; B: TIns) : Boolean;
end;
implementation
// Code
end.
Bien sûr, je l'ai compris où est le problème, et c'est que l'unité appelle l'autre. Mais pas compris comme le résoudre. Si j'essaie de le définir dans la même unité, le premier TExtract ne trouve pas de TIns, ou sinon TIns ne trouve pas TExtract. Je peux supprimer la dépendance et la résoudre, seulement si n'existe pas la solution, mais j'utiliserais ce type de données pour les deux. Merci beaucoup pour votre aide et bonne année à tous.
cela peut aider [stackoverflow] [1] [1]: http: // stackoverflow. com/questions/1284959/comment-éviter-circulaire-unité-référence – PresleyDias