Fórum Sobre TList... #279231
28/04/2005
0
function PreencheList(arrayVariant: array of Variant): TList; var Cont: Smallint; Resultado: ^Variant; ResultadoFuncao: TList; begin ResultadoFuncao := TList.Create; if arrayVariant <> nil then for Cont := 0 to Length(arrayVariant)-1 do begin Resultado^ := arrayVariant[Cont]; ResultadoFuncao.Add(Resultado); end; Result := ResultadoFuncao; end;
tentei também o seguinte mas não funcionou:
function PreencheList(arrayVariant: array of Variant): TList; var Cont: Smallint; ResultadoFuncao: TList; begin ResultadoFuncao := TList.Create; if arrayVariant <> nil then for Cont := 0 to Length(arrayVariant)-1 do begin ResultadoFuncao.Add(@arrayVariant[Cont]); end; Result := ResultadoFuncao; end;
Bruno Belchior
Curtir tópico
+ 0Posts
28/04/2005
Massuda
function PreencheList(arrayVariant: array of Variant): TList;
type TVariantArray = array of Variant; function PreencheList(arrayVariant: TVariantArray): TList;
No seu caso, acho que a sintaxe necessária seria a segunda forma.
Dê uma olhada no tópico [b:159267c4c2]open array parameters[/b:159267c4c2] na Ajuda do Delphi.
Gostei + 0
28/04/2005
Bruno Belchior
normalmente uso:
type TVetorArray = array of Variant; ... var VetorArray: TVetorArray; ...
Gostei + 0
28/04/2005
Beppe
Gostei + 0
28/04/2005
Massuda
type TArrayOfVariant = array of Variant; function PreencheList(arrayVariant: TArrayOfVariant): TList; var Cont: Smallint; ResultadoFuncao: TList; begin ResultadoFuncao := TList.Create; if arrayVariant <> nil then for Cont := 0 to Length(arrayVariant)-1 do begin ResultadoFuncao.Add(@arrayVariant[Cont]); end; Result := ResultadoFuncao; end;
var P: PVariant; Lista: TList; ... Lista := PreencheList(... P := PVariant(Lista.First); // ou P := PVariant(Lista.Last); // ou P := PVariant(Lista[12]); ...
Gostei + 0
28/04/2005
Bruno Belchior
Gostei + 0
28/04/2005
Massuda
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)