Ciao a tutti.
Sto convertendo una semplice applicazione D7 in Lazarus (1.0.08) e, dopo piccole correzioni, funziona perfettamente.
Ora però ho modificato la condizione {Mode Delphi} in {Mode objfpc} per vedere cosa cambia e mi sono arenato davanti a un errore che non riesco a risolvere.
Ho una Tlist in cui inserisco n oggetti TStringList e poi li vado a recuperare in seguito.
Il codice incriminato ha una forma simile:
var
pippo: TStringList;
begin
pippo := TStringList.Create;
pippo := Lista[0] // ERRORE!
//Lista è un oggetto TList;
...
end;
Il compilatore mi ritorna l'errore:
Error: Incompatible types: got "Pointer" expected "TStringList"
Dove è l'errore?
Prova con un cast
var
pippo: TStringList;
begin
pippo := TStringList.Create;
pippo := TStringList(Lista[0]); // ERRORE!
//Lista è un oggetto TList;
...
end;