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 :
L'ordre ElTemp.i ne passe pas : Illegal qualifier
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;
Je ne vois pas pourquoi
Merci pour votre aide
Partager