Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: fr33d0m - Ottobre 07, 2013, 01:58:40 pm

Titolo: [RISOLTO] TList e puntatori
Inserito da: fr33d0m - Ottobre 07, 2013, 01:58:40 pm
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:
Codice: [Seleziona]
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?
Titolo: Re:TList e puntatori
Inserito da: xinyiman - Ottobre 07, 2013, 03:34:49 pm
Prova con un cast

Codice: [Seleziona]
var
  pippo: TStringList;
begin
  pippo := TStringList.Create;
  pippo := TStringList(Lista[0]); // ERRORE!
  //Lista è un oggetto TList;
  ...
end;
Titolo: Re:TList e puntatori
Inserito da: fr33d0m - Ottobre 07, 2013, 04:15:20 pm
Prova con un cast
Grazie, io avevo provato con un (Lista[0] as TStringList).
Titolo: Re:TList e puntatori
Inserito da: xinyiman - Ottobre 09, 2013, 01:08:24 pm
Prova con un cast
Grazie, io avevo provato con un (Lista[0] as TStringList).
Sono contento che hai risolto