 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
PutZ.Kinhu Aprendiz

Registrado: Sábado, 19 de Novembro de 2005 Mensagens: 108
|
Enviada: Qua Mai 31, 2006 8:49 am Assunto: Index out of bounds (0) |
|
|
Meu programa esta dando o erro apresentado no assunto, creio eu que ele nao esta inserindo o meu valor no array, alguem pode me ajudar?
Segue abaixo meu codigo.
Tenho esse type:
type
// Definicao da classe
TSimbolo = class
private
// Campos da classe
identificador : String;
valor: double;
public
// Propriedades para ler os valores
property id : String
read identificador;
property val : double
read valor;
// Construtor
constructor Create(const identificador : String; const valor: double); overload;
constructor Create(const identificador : String); overload;
end;
//------------------------------------------------------------------------------
Estou usando o componente
var
tab_simb : TList;//tipo da variavel
tab_sim:=TList.Create//inicializacao da instancia
e na hora de inserir eu uso o comando:
tab_simb.Add(TSimbolo.Create(token,1));
Porem ao dar um showmessage(TSimbolo(tab_simb[0]).identificador);
ele mostra o erro do enunciado, alguem pode dar uma forca ai??
Vlw! |
|
| Voltar ao Topo |
|
 |
ricars01 Colaborador


Registrado: Quarta-Feira, 25 de Agosto de 2004 Mensagens: 1879 Localização: Itu/SP
|
Enviada: Qua Mai 31, 2006 10:54 am Assunto: Index out of bounds (0) |
|
|
Nao sei se vc reparou, mas vc usou nomes diferentes no seu código. Vc criou a variável [i]tab_sim[/i] mas se referiu a [i]tab_simb[/i]. E outra coisa que eu achei estranho foi que vc está adicionando um item sem passar o identificador como String ( [i]tab_simb.Add(TSimbolo.Create(token,1));[/i] ).
E outra coisa, não sei se é obrigatório, mas sempre que eu declaro tipos com propriedades eu uso alguns membros privados. No seu caso eu faria assim:
[code]
type
[i]//Definição da Classe[/i]
TSimbolo = Class
private
FIdentificador : String;
FValor : Double;
public
property Identificador read FIdentificador write FIdentificador;
property Valor read FValor write FValor;
[i](* Aqui completa as declarações *) [/i]
end;
[/code]
Outra coisa é acessibilidade. Os membros acessíveis da sua classe não são [u]Identificador[/u] e [u]Valor[/u] e sim [b]Id[/b] e [b]Val[/b], já que vc declarou eles como propriedades.
Eu tentaria dar uma revisada nesses itens aí e ver se o problema persiste. Caso contrário posta o erro que deu e, se puder, um trecho do programa mesmo.
___________________________________________________
:yltype: [i] \"Programar também é uma expressão artística.\" [/i]:yltype:
:exclam: [u] Só o up não resolve, as vezes tem que procurar [/u] :exclam:
[b]This user is compatible with: D5 - D2006 / IB&FB
This user is training to: SQL Server 2005 / Oracle 10g / JAVA[/b]
[img]http://www.delphi-jedi.org/img/btn_jedinow.gif[/img]
[url]http://www.delphi-jedi.org/[/url] _________________ <b>Nova assinatura em elaboração... ainda!! Esta é a versão "alfa"</b> |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|