Daniel,
Em primeiro lugar, obrigado pela ajuda. Seu metodo parece ser bem
interessante pelo fato de vc assinar a classe dos objetos colocando um
"AS". Legal...
Infelizmente isso nao corrigiu meu problema... =P
O problema acontece justamente na primeira linha do resultHandler do
HTTPService, ou seja, essa aqui ó:
if (event.result.topo.topo1 is ArrayCollection) {
O erro eh: TypeError: Error #1010: A term is undefined and has no
properties.
Eu estava lendo que esse erro tem a ver com um elemento de um array
que nao esta bem determinado. Engracado eh que eu fiz uma checagem
tripla em meu XML e ele parece estar ok, de acordo com a amostra que
enviei para vcs. Inclusive, rodei o php pelo browser e rodou
belizinha, retornando o que eu preciso.
Quanto a debugar: pois eh amigo!! Eu estava debugando... por isso
mesmo cheguei a conclusao que o problema esta ocorrendo nessa linha
acima.
Agora pessoal... o engracado eh o seguinte... logo quando eu monto a
tela da primeira vez eu chamo o httpservice assim:
httpRemoteDados.send({evento: 'select',
table: 't009_conteudo',
colunas: "T009_CONTEUDO_IU,
T009_MENU, T009_TEXTO,
T009_DATA_PUBLICAR, T009_TITULO_NOTICIA, T009_STATUS ",
where: "where T009_STATUS in
('ISO9001',
'NOTICIAS')",
orderby : 'order by T009_MENU',
tipoXML:"noticias"});
Percebam que o parametro chamado EVENTO agora eh "select"... dai o php
vai montar uma query de selecao com o restante dos parametros. Notem
tambem que eu nao tenho o parametro sqlGrid que eu tenho quando estou
fazendo insert, update ou delete.
Essa chamada acima TAMBEM PASSA pelo resultHandler demonstrado acima.
E FUNCIONA!!! Ele tras os dados BONITNHOS!!! O problema no
resultHandler so esta acontecendo quando eu faco insert, update e
delete. ELE FAZ o que eh mandado, ou seja, INSERE, DELETA e
ATUALIZA... mas na hora de pegar o XML gerado pelo sqlGrid, da
problema.
Eh engracado... me parece que depois q o resultHandler roda da
primeira vez ele POLUI o event.result e fica dando esse pepino...
E ai?? ALGUEM PODE ME AJUDAR PELO AMOR DE DEUS?? rsrsrs
Abraco a todos...
Qualquer ajuda sera bem vinda.
On 13 maio, 08:44, Daniel Negri <[EMAIL PROTECTED]> wrote:
> Eu não entendi direito seu código mas faria da seguinte forma:
>
> if (event.result.topo.topo1 is ArrayCollection) {
> //arrDadosGrid = event.result.topo.topo1;
> arrDadosGrid = event.result.topo.topo1 as ArrayCollection;} else if
> (event.result.topo.topo1 is ObjectProxy) {
>
> arrDadosGrid = new ArrayCollection();
> var topo1:ObjectProxy = event.result.topo.topo1 as ObjectProxy;
> arrDadosGrid.add(topo1);
>
> //arrDadosGrid = new
> ArrayCollection(ArrayUtil.toArray(event.result.topo.topo1));} else if
> (event.result.topo == null || event.result.topo.topo1 == null ){
>
> Alert.show("Cadastro de notícias vazio!");
>
> }
>
> Verifique que eu sempre "assino" um objeto antes de atribuir utilizando o
> "as ArrayCollection" ou "as ObjectProxy".
>
> Sugestão, utiliza o Sabre-AMF funciona que é uma beleza e você pode trabalha
> com os objetos do PHP dentro do Flex, que tal?
>
> Espero que dê certo, era essa a dúvida?
> -Daniel Negri
>
> -----Mensagem original-----
> De: [email protected] [mailto:[EMAIL PROTECTED] Em nome de
> carlos_online
> Enviada em: segunda-feira, 12 de maio de 2008 23:23
> Para: flexdev
> Assunto: [flexdev] AHHH... VOU ENDOIDAR COM O FLEX!!! =PPPP
>
> Hehehe... eh bem por ai...
>
> Amigos... preciso da ajuda de quem eh "NINJA" e ja passou pelo meu
> problema... estou me estressando muito aqui com o flex e estava
> funcionando o codigo q vou postar abaixo.
>
> Em primeiro lugar estou obtendo o famigerado erro:
> TypeError: Error #1010: A term is undefined and has no properties.
>
> Quando acontece: quando mando atualizar dados do meu banco de dados.
>
> Olhem so... eu tenho um HTTPService que eh usado pra enviar comandos
> para um php assim:
>
> httpRemoteDados.send({evento: 'update',
> table: 't009_conteudo',
> colunas: " T009_TEXTO =
> '<![CDATA[" +
> txtTexto.htmlText + "]]>', T009_STATUS = '" + cbTipoConteudo.text +
> "', T009_DATA_PUBLICAR = '" + dtfDataPublicar.text.substr(6,4) +
> dtfDataPublicar.text.substr(3,2) + dtfDataPublicar.text.substr(0,2) +
> "', T009_TITULO_NOTICIA = '" + txtTituloNoticia.text + "'",
> where: "where
> T009_CONTEUDO_IU = " +
> dgGridDados.selectedItem.codigo,
>
> tipoxml:"noticias",
> sqlGrid:sqlGrid });
>
> Percebam que eu saio preenchendo os parametros que la no meu PHP vao
> montar o SQL de UPDATE (pois esse eh o tipo de evento - primeiro
> parametro). Ate ai, beleza... ele ate atualiza super bem.
>
> Notem que o ultimo parametro se chama: sqlGrid. Ele eh o SQL generico
> do grid... ou seja, depois q o httpservice rodar, la no resultHandler
> dele eu vou pegar um XML que sera resultado desse sqlGrid. So pra
> ilustrar, eis o conteudo do meu sqlGrid:
>
> select T009_CONTEUDO_IU, T009_MENU, T009_TEXTO, T009_DATA_PUBLICAR,
> T009_TITULO_NOTICIA, T009_STATUS from t009_conteudo
>
> e aqui esta o XML resultante:
>
> <topo>
>
> <topo1>
> <codigo>8</codigo>
> <menu>NOTICIAS</menu>
> <texto>Texto de teste</texto>
> <status>NOTICIAS</status>
> <datapublicacao>2008-05-01</datapublicacao>
> <titulo>Preço dispara</titulo>
> </topo1>
>
> </topo>
>
> Ate aqui, beleza, ne??
>
> Bem... olhem o meu resultHandler:
>
> if (event.result.topo.topo1 is ArrayCollection) {
> arrDadosGrid = event.result.topo.topo1;
> } else if (event.result.topo.topo1 is ObjectProxy) {
> arrDadosGrid = new
> ArrayCollection(ArrayUtil.toArray(event.result.topo.topo1));
> if (arrDadosGrid.length == 0){
> alert.info("Cadastro de notícias
> vazio!");
> }
> }
>
> O engracado eh que da o erro 1010 logo na PRIMEIRA linha do meu
> resultHandler...
>
> Alguem sabe me explicar o porque?
>
> DESCULPEM o jornal, mas creio que assim bem explicadinho eh mais facil
> pra vcs me ajudarem, ne?? hehehe
>
> Abraco a todos...
>
> Qualquer ajuda sera bem vinda.
>
> Atenciosamente,
>
> Carlos E. Pereira
> [EMAIL PROTECTED]://www.ioweb.com.br
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---