Mesma classe de Form, instanciado com várias variáveis

Delphi

10/08/2006

Tenho uma classe Tform1, instanciado em tempo de execução, por uma variável chamada insância, esta variável pode ser instanciada com outras casses tb. gostaria de saber como faço para jogar dados nos componentes da classe Tform1. segue o código...

for c := 0 to screen.FormCount -1 do
begin
If screen.Forms[c].Caption = ´Cadastro´ then
begin
Screen.Forms[c].Show;
Break;
end;
end;
end;
With ???????(FORM1/screen.forms[c]??)????? DO //aqui seria a referencia aos compoentes da classe Tform1, mas como ou acessálos ?
begin
Adotable1.Open; //aqui ocorre um erro de AV
Adotable1.Locate
(´Cod_Clientes´,query.fieldbyname ´Cod_Cliente´).AsString,[]);
edtNumPS.Text :

Valeu galera .....


Cabal

Cabal

Curtidas 0

Respostas

Marco Salles

Marco Salles

10/08/2006

acho que assim funfa

With Form1.FindComponent(instancia) do



GOSTEI 0
Cabal

Cabal

10/08/2006

Botei este código, mas não funcionou e dá um erro de AV.

With Tform1(screen.Forms[c]) DO


GOSTEI 0
Marco Salles

Marco Salles

10/08/2006

Botei este código, mas não funcionou e dá um erro de AV. With Tform1(screen.Forms[c]) DO


[b:bdd51f8db5]Qual codigo que deu erro [/b:bdd51f8db5]?????

With Form1.FindComponent(instancia) do



GOSTEI 0
Rjun

Rjun

10/08/2006

Desculpe minha ignorância, mas o que é erro de AV?


GOSTEI 0
Marco Salles

Marco Salles

10/08/2006

Desculpe minha ignorância, mas o que é erro de AV?


puro palpite :

[b:00012b8136]AV pode ser Acesso Violado...[/b:00012b8136]


GOSTEI 0
Michael

Michael

10/08/2006

O método [b:0da2bd3146]FindComponent [/b:0da2bd3146]retorna [b:0da2bd3146]nil [/b:0da2bd3146]se não não encontrar nenhum componente com o nome informado. Desta forma, o código

with Form1.FindComponent(instancia) do


irá gerar um erro de violação de acesso - Access Violation (AV).

A não ser que seja certo de o componente existir, o mais indicado é guardar o valor de retorno em uma variável e testar a sua nulidade.

[]´s


GOSTEI 0
Marco Salles

Marco Salles

10/08/2006

Estive olhando este post com outros olhos e talves eu tenha desfocado para outro caminho. Peço para os amigos foquem a duvida inicial do amigo cabal

Tenho uma classe Tform1, instanciado em tempo de execução, por uma variável chamada insância, esta variável pode ser instanciada com outras casses tb. gostaria de saber como faço para jogar dados nos componentes da classe Tform1. segue o código...

for c := 0 to screen.FormCount -1 do begin If screen.Forms[c].Caption = ´Cadastro´ then begin Screen.Forms[c].Show; Break; end; end; end; With ???????(FORM1/screen.forms[c]??)????? DO //aqui seria a referencia aos compoentes da classe Tform1, mas como ou acessálos ? begin Adotable1.Open; //aqui ocorre um erro de AV Adotable1.Locate (´Cod_Clientes´,query.fieldbyname ´Cod_Cliente´).AsString,[]); edtNumPS.Text :



GOSTEI 0
POSTAR