Bonjour à tous

Je dois transposer du code Delphi en Lazarus et j'ai quelques difficultés. Le code fonctionne bien en D7, mais ceci ne plait pas à Lazarus :

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
type
   PElListInteger = ^ElListInteger;
   ElListInteger = record
      i : integer; 
      ElPrec : PElListInteger;
      ElSuiv : PElListInteger;
   end;
type
   TListInteger = class
   private
      FirstElement : PElListInteger;
      LastElement : PElListInteger;
      FCount : Integer;
      FSorted : Boolean;
      function AjouteEnFin(Val : integer) : PElListInteger;
      function AjouteEnDebut(Val : integer) : PElListInteger;
      function InsereElement(Val : integer) : PElListInteger;
   protected
   public
      constructor create;
      destructor destroy; override;
      property Count : integer read FCount;
      function Asstring : String;
      function AsStringList(L : TStringList) : TStringList;
      function Add(Val : integer) : PElListInteger;
      function IndexOf(Val : integer) : integer;
      function ValeurAtPos(Pos : integer) : integer;
      function Remove(Val : integer): integer;
      function Delete(Ind : integer):integer;
      procedure Clear;
   published
      property Sorted : Boolean read FSorted write FSorted default False;
   end;
//  Plus loin il y a ceci
 
{ TListInteger }
 
function Add(const S: string): Integer; override;
var
   ElTemp, FuturDeuxiemeElement : PElListInteger;
begin
   if FirstElement = nil then
      Result := AjouteEnFin(Val)
   else
   begin
      new(ElTemp);
      ElTemp.i := Val;      <===== Et il n'aime pas cet ordre du tout !!!'
 
      FuturDeuxiemeElement := FirstElement;
      ElTemp.ElPrec := nil;
      ElTemp.ElSuiv := FuturDeuxiemeElement;
      FuturDeuxiemeElement.ElPrec :=ElTemp;
      FirstElement :=ElTemp;
 
      FCount:=FCount+1;
      Result:=ElTemp;
   end;
end;
L'ordre ElTemp.i ne passe pas : Illegal qualifier

Je ne vois pas pourquoi

Merci pour votre aide