Bom dia a todos,

To tendo um problema aqui meio estranho. Estou criando 2 componentes em
runtime (um TTabSheet e um TStringGrid que tem como parent o ttabsheet
criado).

Eles estão sendo criados normalmente, acesso, consigo fazer tudo que
preciso, mas na hora de acessar os dados do TStringGrid, dá access
violation!!!

Estou criando desse jeito:

NovaPagina := TTabSheet.Create(Paginas);
NovaPagina.Name := 'Pagina' + IntToStr(i+3);
NovaPagina.Caption := Grupo.Items.Strings[i];
NovaPagina.TabVisible := True;
NovaPagina.PageControl := Paginas;

NovaTabela := TStringGrid.Create(NovaPagina);
NovaTabela.Parent := NovaPagina;
NovaTabela.Name := 'Tabela' + IntToStr(i+3);
NovaTabela.Align := alClient;
NovaTabela.ColCount := 7;
NovaTabela.DefaultRowHeight := 17;
NovaTabela.FixedCols := 0;
NovaTabela.RowCount := 2;
NovaTabela.FixedRows := 1;
NovaTabela.OnKeyPress := TabelaKeyPress;
NovaTabela.OnDblClick := TabelaDblClick;
NovaTabela.Options := [goFixedVertLine, goFixedHorzLine, goVertLine,
goHorzLine, goRangeSelect, goEditing];
NovaTabela.ColWidths[0] := 168;
NovaTabela.ColWidths[1] := 19;
NovaTabela.ColWidths[2] := 19;
NovaTabela.ColWidths[3] := 19;
NovaTabela.ColWidths[4] := 19;
NovaTabela.ColWidths[5] := 19;
NovaTabela.ColWidths[6] := 19;
NovaTabela.Cells[0, 0] := ' Opções';
NovaTabela.Cells[1, 0] := ' 1';
NovaTabela.Cells[2, 0] := ' 2';
NovaTabela.Cells[3, 0] := ' 3';
NovaTabela.Cells[4, 0] := ' 4';
NovaTabela.Cells[5, 0] := ' 5';
NovaTabela.Cells[6, 0] := ' 0';
NovaTabela.GridLineWidth := 1;

Para acessar os dados do TStringGrid eu estou tentando:

ShowMessage(TStringGrid(FindComponent('Tabela' + IntToStr(i))).Name);

O showmessage é soh para ilustrar... qualquer dado que tento acessar do
componente criado não dá certo. O engraçado é que uso o mesmo jeito para
acessar outros componentes criados dinamicamente, e eles funcionam
normalmente. Mas eles não pertencem a outro componente criado em runtime.

Alguém tem alguma idéia de como fazer para que isso funcione?!?!?! Estou
ficando doido com isso já!! Se não tiver como vo te que fazer de outra
maneira... :/

Agradeço a ajuda de todos!!

:**

Vinicius
________________________________________________
Mensagem enviada utilizando
o Webmail Teracom - http://www.teracom.com.br



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a