Olá. Eu tenho uma classe de produto e nela eu coloquei um field do tipo TList. No formulário. eu consigo adicionar os objetos grupo na lista, porém, na classe na função persistir, eu não consigo "recuperar" os objetos do TList.
Classe
unit uclasse;
interface
uses SysUtils, Classes, Dialogs, StdCtrls, DB, ADODB;
type
TGrupo = class
private
FChave: String;
protected
procedure SetChave(const Value: String);
public
property Chave: String read FChave write SetChave;
constructor Create;
destructor Destroy; Override;
published
end;
TProduto = class
private
FNome: String;
FGrupo: TList;
protected
procedure SetGrupo(const Value: TList);
procedure SetNome(const Value: String);
public
property Nome : String read FNome write SetNome;
property Grupo : TList read FGrupo write SetGrupo;
function persistir (prod: TProduto): Boolean;
constructor Create;
destructor Destroy; Override;
published
end;
implementation
{ TProduto }
constructor TProduto.Create;
begin
inherited Create;
FGrupo := TList.Create;
end;
destructor TProduto.Destroy;
begin
inherited;
end;
function TProduto.persistir(prod: TProduto): Boolean;
begin
prod.Grupo[1]. <--------????????
end;
procedure TProduto.SetGrupo(const Value: TList);
begin
FGrupo := Value;
end;
procedure TProduto.SetNome(const Value: String);
begin
FNome := Value;
end;
{ TGrupo }
constructor TGrupo.Create;
begin
inherited Create;
end;
destructor TGrupo.Destroy;
begin
inherited;
end;
procedure TGrupo.SetChave(const Value: String);
begin
FChave := Value;
end;
end.
e no formulário está assim:
procedure TForm1.Button1Click(Sender: TObject);
var
produto : TProduto;
gr : TGrupo;
x : intger;
begin
produto := TProduto.Create;
produto.Nome := 'teste';
for x:= 1 to 10 do
begin
gr := TGrupo.Create;
gr.Chave := '11111';
produto.Grupo.Add(gr)
end;
end;
Estou fazendo algo errado? É possível ter uma llista assim nos fields do componente?
Pergunta
Manoel Zancheta
Olá. Eu tenho uma classe de produto e nela eu coloquei um field do tipo TList. No formulário. eu consigo adicionar os objetos grupo na lista, porém, na classe na função persistir, eu não consigo "recuperar" os objetos do TList.
Classe
e no formulário está assim:
Estou fazendo algo errado? É possível ter uma llista assim nos fields do componente?
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.