Bonjour,

J'ai récupéré les sources de ESS Model depuis: https://essmodel.sourceforge.net/ car j'ai envie de les remettre au gout du jour (voir de le migrer sous Firemonkey).

A la première compilation, je tombe sur une syntaxe étrange pour moi dans le fichier uModel.pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
interface
 
type
  function AllClassesPackage : TAbstractPackage;
 
implementation
 
//Unique Flag-instance, if Integrator.CurrentEntity=AllClassesPackage then show all classes
function AllClassesPackage : TAbstractPackage;
const
  _AllClassesPackage : TAbstractPackage = nil;
begin
  if _AllClassesPackage=nil then
    _AllClassesPackage := TAbstractPackage.Create(nil);
  Result := _AllClassesPackage;
end;
Je ne connaissait pas ce type de syntaxe est visiblement les dernières versions de Delphi, non plus !

J'ai testé ceci mais, j'ai l'impression que cela ne réagit pas comme la solution l'attends !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
interface
 
type
  function AllClassesPackage : TAbstractPackage;
 
implementation
 
var
_AllClassesPackage: TAbstractPackage = nil;
 
//Unique Flag-instance, if Integrator.CurrentEntity=AllClassesPackage then show all classes
function AllClassesPackage: TAbstractPackage;
begin
  if _AllClassesPackage = nil then
    _AllClassesPackage := TAbstractPackage.Create(nil);
 
  Result := _AllClassesPackage;
end;

Ce qui fait que je me demande par quoi la remplacer pour garder la logique sous-jacente, auriez-vous une idée ?