erro ao dar o create
galera não estou entendendo pq ocorre um erro qd eu vou dar o create, alguem pode me explicar
type
TPessoa = class
private
fNome: string;
public
property Nome: string read fNome write fNome;
end;
var
Form1: TForm1;
vlist: TList;
FPessoa: array of TPessoa;
i: integer;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
i := i + 0;
vlist := TList.Create;
FPessoa[i] := TPessoa.Create; <------------------- ERRO
type
TPessoa = class
private
fNome: string;
public
property Nome: string read fNome write fNome;
end;
var
Form1: TForm1;
vlist: TList;
FPessoa: array of TPessoa;
i: integer;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
i := i + 0;
vlist := TList.Create;
FPessoa[i] := TPessoa.Create; <------------------- ERRO
Tdqr
Curtidas 0
Respostas
Edilcimar
08/01/2006
Aqui FPessoa[i] você está tentando carregar um I que não tem valor, pois o mesmo não foi inicializado
GOSTEI 0
Tdqr
08/01/2006
Mesmo inicializando i , ele continua dando erro
i := 0;
vlist := TList.Create;
FPessoa[i] := TPessoa.Create;
FPessoa[i].Nome := Edit1.Text;
vlist.Add(FPessoa);
i := i + 0;
i := 0;
vlist := TList.Create;
FPessoa[i] := TPessoa.Create;
FPessoa[i].Nome := Edit1.Text;
vlist.Add(FPessoa);
i := i + 0;
GOSTEI 0
Tdqr
08/01/2006
sera que alguem pode me ajudar?????
GOSTEI 0
Massuda
08/01/2006
Pelo código que você postou, FPessoa é um array dinâmico. Você precisa ajustar o tamanho desse array usando SetLength; algo do tipo...
I := Length(FPessoa); SetLength(FPessoa, I + 1); FPessoa[I] := TPessoa.Create; ...
GOSTEI 0
Michael
08/01/2006
I := I + 0;
:?: :shock:
Como a array é dinâmica, vc tem que setar suas dimensões, usando a procedure [b:f878476c7e]SetLength[/b:f878476c7e].
SetLength(FPessoas, 1)
Outra coisa, não use variáveis globais. Prefira campos da classe. E se for usá-las, não nomeias com um [b:f878476c7e]F[/b:f878476c7e] inicial, pois esta notação é usada em campos privados.
sera que alguem pode me ajudar?????
Não poste este tipo de mensagem, pois dá a entender que os usuários do fórum tem a obrigação de responder às perguntas questionadas.
[]´s
GOSTEI 0