Passage d'un code Delphi en Lazarus
:salut: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:
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