AdvancedForm nao funciona dentro de state

0 views
Skip to first unread message

Giolvani

unread,
Nov 7, 2009, 5:48:18 PM11/7/09
to fle...@googlegroups.com
Olá pessoal,

estou com uma coisa estranha por aqui...

estou usando o AdvancedForm para poder usar o metodo resetForm(), mas
acontece que esse cara ai só funciona
se ele estiver no Base state, se eu colocar ele dentro de um outro
state, ele simplesmente não funciona!!! me retornando este erro:

TypeError: Error #1009: Não é possível acessar uma propriedade ou um
método de uma referência de objeto nula.

alguém já viu ou passou por isso?!!!


obrigado desde já

--
att.
Giolvani de Matos

Eduardo Kraus

unread,
Nov 8, 2009, 1:04:51 PM11/8/09
to fle...@googlegroups.com

Claro, você esta tentando acessar um item dentro do States que ainda não foi usado.

Eduardo Kraus

Desenvolvedor
eduard...@gmail.com
blog.mxml.com.br
www.twitter.com/EduardoKraus



2009/11/7 Giolvani <inavlo...@gmail.com>

Giolvani

unread,
Nov 8, 2009, 4:09:26 PM11/8/09
to fle...@googlegroups.com
bah!!

mas então não tem jeito??? ou tem alguma outra forma de fazer isso???

att.
Giolvani

Eduardo Kraus escreveu:
>
> Claro, você esta tentando acessar um item dentro do States que ainda
> não foi usado.
> *
> Eduardo Kraus*
> Desenvolvedor
> eduard...@gmail.com <mailto:eduard...@gmail.com>
> blog.mxml.com.br <http://blog.mxml.com.br/>
> www.twitter.com/EduardoKraus <http://www.twitter.com/EduardoKraus>
>
>
>
>
> 2009/11/7 Giolvani <inavlo...@gmail.com
> <mailto:inavlo...@gmail.com>>

Eduardo Kraus

unread,
Nov 8, 2009, 5:22:11 PM11/8/09
to fle...@googlegroups.com
Terás que instancia-lo antes de usar.

2009/11/8 Giolvani <inavlo...@gmail.com>

Julio carneiro

unread,
Nov 9, 2009, 12:07:42 AM11/9/09
to flexdev
que tal fazer:

if (meuForm) meuForm.resetForm();

como isso, vc só ira referenciar o teu form qdo ele estiver
"instanciado".

julio

Giolvani

unread,
Nov 9, 2009, 5:23:55 AM11/9/09
to fle...@googlegroups.com
então Julio,

o estranho é que não faço o reset sem meu form estar aparecendo...
só chamo o método resetForm quando eu exibo o state que está o form...
mas mesmo assim não funciona...

então não existe possibilidade de chamar o método sem o form existir... :(

vlw

Julio carneiro escreveu:

Julio carneiro

unread,
Nov 9, 2009, 9:00:42 AM11/9/09
to flexdev
Giovani,

Objetos visíveis em Flex (display components) só existem realmente e
por completo quando colocados no "display list" do Flash, isto é,
quando se tornam (duh!) visíveis :-)
Em alguns casos é possível usar 'creationPolicy' para 'instanciar'
objetos ainda não 'visíveis'.
Mas isto não é possivel com 'states' (em Flex 3).

Outra observação é que simplesmente fazer "currentState='xuxu'" não
irá inicializar e instanciar todos os objetos/componentes no state
'xuxu'... devido à maneira como o Flex framework funciona, os objetos
só estarão realmente 'prontos' no próximo 'ciclo de execução'. Para
isso serve o callLater().

Daí, se:
currentState="novo";
meuForm.resetForm();

não funciona pq algo ainda não foi inicializado no novo estado, tente:
currentState="novo";
callLater(function ():void {meuForm.resetForm()});

hth
julio

Eduardo Kraus

unread,
Nov 9, 2009, 10:45:29 AM11/9/09
to fle...@googlegroups.com

Deixa eu ver se entendi

Você muda o states e reseta o form?
currentStates="ApareceForm"
meuForm.resetForm();

Se for assim que estas fazendo adicione uma linha
currentStates="ApareceForm"
validateNow();
meuForm.resetForm();





2009/11/9 Giolvani <inavlo...@gmail.com>

Giolvani

unread,
Nov 9, 2009, 11:14:12 AM11/9/09
to fle...@googlegroups.com
bah Julio,

boa explicação ein...
não sabia dessa situação no Flex, ainda sou novo no assunto!

vou tentar fazer o que me diz, ai posto o resultado aqui!!!

obrigado

Julio carneiro escreveu:

Giolvani

unread,
Nov 9, 2009, 11:56:49 AM11/9/09
to fle...@googlegroups.com
pois é Julio, tentei aqui como vc disse mas não funciono!!!

deixa eu só dar uma explicada novamente do que esta acontecendo...

tenho um módulo: Cliente

nesse módulo, no Base State, aparece uma lista dos registros de cliente...
dai tenho um botao adicionar cliente, este botao tem ação currentState =
"Form", que faz o meu formulário de cadastro ser exibido...
até ai beleza...

acontece que se eu tentar usar o resetForm dentro do state que o form
aparece, ele não funciona...

dai tentei usar o reset form dentro do Base State (coloquei form e lista
lado a lado), dai o resetForm funciono!!!

isso que é estranho!!!



@Kraus, também tentei o que vc falo ai, mas sem sucesso!!!

enfim... a única coisa que eu quero é usar o resetForm dentro de um
outro state que não seja o base state!!!


abraços
Giolvani

Julio carneiro escreveu:

Julio carneiro

unread,
Nov 9, 2009, 1:48:28 PM11/9/09
to flexdev
Giovani,

Se vc usa o debugger, qual o objeto que está null? talvez não seja o
'form', mas algum outro objeto

julio
Reply all
Reply to author
Forward
0 new messages