Tentei fazer igualzinho vc, criei o init e tudo, mas ele não aceita <mx:Script> <![CDATA[ public function init():void { xmllcTratado.source = parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo; // meu httpservice ou xmllcTratado.source = parentDocument.sql_vitrineDetalhe.lastResult.item.furos.furo; // meu httpservice } ]]> </mx:Script>
ele dá esse erro, quando vou acessar a página: TypeError: Error #1009: Cannot access a property or method of a null object reference. On 3 abr, 14:31, Pat <[EMAIL PROTECTED]> wrote: > Nossa, aqui num rola! > > se eu deixo o lastResult.produtos, ele escreve "Furos:" 4vezes mas sem > o valor do source (que já mudei pra src_furo, pra num dar conflito com > as palavras do flex), se eu tiro o .produtos, ele não escreve "Furo:" > nenhuma vez, ou seja, errado, pq eu tenho quatro tipos de Furos. > > On 3 abr, 14:17, Luis Eduardo - Suprasis Softwares > > > > <[EMAIL PROTECTED]> wrote: > > Oi Pat, > > > Para enviar o xml do lastResult é só vc usar um trace normal e > > copiar e colar do console. Mas vc enviou o xml direitinho! Era isso mesmo. > > O problema, acho eu, é que o primeiro nó do lastResult, o "produtos" > > vai se tornar o próprio lastResult, então ele não precisa ser referenciado. > > Ficaria uma linha assim: > > parentDocument.sql_vitrineDetalhe.lastResult.item.furos.furo > > > Eis o código. Qualquer coisa é só dar um grito aí. > > > Ah! se puder evitar usar palavras reservadas do ActionScript ou do > > framework do Flex dentro dos XMLs pode te evitar umas dores de cabeças > > boas. Já andei perdendo umas horas com isso. Aquela sua propriedade > > "source" pode dar conflito se vc usar esse XML em alguns outros locais. > > > abraços, > > Luís Eduardo. > > > ---------------- > > > <?xml version="1.0" encoding="utf-8"?> > > <mx:Application > > xmlns:mx="http://www.adobe.com/2006/mxml" > > creationComplete="init()" > > > > > <mx:XMLList xmlns="" id="xmlCru"> > > <produtos> > > <item> > > <cd_referencia>204</cd_referencia> > > <ds_referencia>109/D (3º)</ds_referencia> > > <ds_simbolo>DIN 5157</ds_simbolo> > > <ds_norma_pt>Rosca Whitworth para Tubo</ds_norma_pt> > > <ds_sigla>BSP (G)</ds_sigla> > > <ds_imagem>../../fotos/8A-204.jpg</ds_imagem> > > > <ds_imagem_especificacao>../../fotos/8A.gif</ds_imagem_especificacao> > > <furos> > > <furo source="menor_passante" /> > > <furo source="maior_passante" /> > > <furo source="menor_cego" /> > > <furo source="maior_cego" /> > > </furos> > > </item> > > </produtos> > > </mx:XMLList> > > > <mx:XMLListCollection id="xmllcTratado"/> > > > <mx:Label text="Tipos de Furo"/> > > <mx:Repeater id="rep_furo" dataProvider="{xmllcTratado}"> > > <mx:Label text="{XML(rep_furo.currentItem)[EMAIL PROTECTED]" > > width="50" /> > > </mx:Repeater> > > > <mx:Script> > > <![CDATA[ > > public function init():void { > > xmllcTratado.source = xmlCru.item.furos.furo; > > } > > ]]> > > </mx:Script> > > > </mx:Application> > > > ---------------- > > > Pat escreveu: > > > > rss, desculpa aí, eu to modificando a estrutura do xml e agora já é > > > outro nome. > > > > xml: > > > <produtos> > > > - <item> > > > <cd_referencia>204</cd_referencia> > > > <ds_referencia>109/D (3º)</ds_referencia> > > > <ds_simbolo>DIN 5157</ds_simbolo> > > > <ds_norma_pt>Rosca Whitworth para Tubo</ds_norma_pt> > > > <ds_sigla>BSP (G)</ds_sigla> > > > <ds_imagem>../../fotos/8A-204.jpg</ds_imagem> > > > <ds_imagem_especificacao>../../fotos/8A.gif</ > > > ds_imagem_especificacao> > > > - <furos> > > > <furo source="menor_passante" /> > > > <furo source="maior_passante" /> > > > <furo source="menor_cego" /> > > > <furo source="maior_cego" /> > > > </furos> > > > </item> > > > </produtos> > > > > chamado no meu código: > > > > <mx:Label text="Tipos de Furo"/> > > > <mx:Repeater id="rep_furo" > > > dataProvider="{parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo}"> > > > <mx:Label text="{'Furo: '+ XML(rep_furo.currentItem)[EMAIL > > > PROTECTED]" > > > width="100%" /> > > > </mx:Repeater> > > > > se eu coloco pra escrever rep_furo.currentIndex, ele nomeia 0, 1, 2, > > > 3, 4, mas assim do jeito que tah ele não escreve nada. > > > > num to entendendo pq =/ > > > > sobre enviar o xml do lastResult, eu num sei como faço isso! > > > > On 3 abr, 13:48, Luis Eduardo - Suprasis Softwares > > > <[EMAIL PROTECTED]> wrote: > > > >> Ué... o certo é "cego", "ic_cego" ou "ds_furo" ?? agora já me > > >> perdi todo aqui! :) > > >> Me parece que é só esse o problema. O xml de retorno vem de um jeito > > >> e vc tenta acessar a propriedade dele de outro. > > >> Tem como vc nos enviar o xml do lastResult do jeito que ele vem? > > > >> aí fica tranquilo trocar naquele código-exemplo e ver na prática. > > > >> abraço, > > >> Luís Eduardo. > > > >> Pat escreveu: > > > >>> Ohh Luis, valewww heim. > > > >>> entendi, no meu caso nem compensa o filtro pois vou usar todos os > > >>> registros que vem no xml, do jeitinho que vem, mas valeww, fica aí a > > >>> dica pra quando for necessário. > > > >>> sobre o ic_cego, é assim qeu está no xml mesmo, eu enviei um modelo do > > >>> meu xml, mas não respeitei os nomes naum, era mais a estrutura mesmo. > > > >>> agora deixei assim: > > > >>> <mx:Label text="Tipos de Furo"/> > > >>> <mx:Repeater id="rep_furo" > > >>> dataProvider="{parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo}"> > > >>> <mx:Label text="{'Furo: '+ XML(rep_furo.currentItem)[EMAIL > > >>> PROTECTED]" > > >>> width="50" /> > > >>> </mx:Repeater> > > > >>> O problema agora é que aparece Furo:, e não aparece o valor que está > > >>> em ds_furo, sempre fica vazio. > > >>> Sabe pq??? > > > >>> On 3 abr, 08:54, Luis Eduardo - Suprasis Softwares > > >>> <[EMAIL PROTECTED]> wrote: > > > >>>> Olá Pat, > > > >>>> Na linha onde vc usa: <mx:Label > > >>>> text="[EMAIL PROTECTED]" width="50" > > >>>> contém dois erros: o currentItem retorna um Object e não um xml, > > >>>> por > > >>>> isso vc recebeu o aviso do FlexBuilder dizendo "not found on Object". > > >>>> Pra resolver isso é só fazer um cast de Object para XML. > > >>>> O segundo erro é que no seu xml o atributo cego de um furo é > > >>>> escrito: <furo tipo="1" cego="false"/> mas na hora de tentar > > >>>> recuperar > > >>>> o valor, em vez de "cego" vc usou "ic_cego". > > > >>>> Fiz um código de exemplo pra mostrar o que eu quis dizer com o "FOR > > >>>> EACH" do email anterior na hora de processar um xml. Vc vai precisar > > >>>> fazer uma adaptação aí, espero que corra tudo bem. No exemplo eu > > >>>> filtrei > > >>>> os furos de tipo 1, só mostrando os de tipo 2 no repeater. > > > >>>> abraço, > > >>>> Luís Eduardo. > > > >>>> --------- código ------------- > > > >>>> <?xml version="1.0" encoding="utf-8"?> > > >>>> <mx:Application > > >>>> xmlns:mx="http://www.adobe.com/2006/mxml" > > >>>> creationComplete="init()" > > > >>>> <mx:XMLList xmlns="" id="xmlCru"> > > >>>> <produto> > > >>>> <valor1>bla</valor1> > > >>>> <valor2>bla</valor2> > > >>>> <valor3>bla</valor3> > > >>>> <furos> > > >>>> <furo tipo='1' cego='true' /> > > >>>> <furo tipo='2' cego='false' /> > > >>>> <furo tipo='1' cego='true' /> > > >>>> <furo tipo='2' cego='true' /> > > >>>> </furos> > > >>>> </produto> > > >>>> </mx:XMLList> > > > >>>> <mx:XMLListCollection id="xmllcTratado"/> > > > >>>> <mx:Label text="Tipos de Furo"/> > > >>>> <mx:Repeater id="rep_furo" dataProvider="{xmllcTratado}"> > > >>>> <mx:Label text="{XML(rep_furo.currentItem)[EMAIL PROTECTED]" > > >>>> width="50" /> > > >>>> </mx:Repeater> > > > >>>> <mx:Script> > > >>>> <![CDATA[ > > >>>> public function init():void { > > >>>> for each (var furo:XML in xmlCru..furo) { > > >>>> if (String([EMAIL PROTECTED]) == "2") { > > >>>> xmllcTratado.addItem( furo ); > > >>>> } > > >>>> } > > >>>> } > > >>>> ]]> > > >>>> </mx:Script> > > > >>>> </mx:Application> > > > >>>> ------------------------------- > > > >>>> Pat escreveu: > > > >>>>> Olha, eu tava tentando assim: > > > >>>>> <mx:Label text="Tipos de Furo"/> > > >>>>> <mx:Repeater id="rep_furo" > > >>>>> dataProvider="{parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo}"> > > >>>>> <mx:Label text="[EMAIL PROTECTED]" width="50" /> > > >>>>> </mx:Repeater> > > > >>>>> mas obtenho o seguinte erro: > > >>>>> ReferenceError: Error #1081: Property @ic_cego not found on Object and > > >>>>> there is no default value. > > > >>>>> On 2 abr, 18:08, Pat <[EMAIL PROTECTED]> wrote: > > > >>>>>> Ixii, num entendi... > > > >>>>>> olha só como eu preciso: > > > >>>>>> <mx:VBox width="50%" height="100%"> > > >>>>>> <mx:Label text="Tipos de Furo"/> > > >>>>>> ===> aqui eu preciso mostrar os tipos de furo do meu xml <=== > > > >>>>>> <mx:Label text="Tipo:"/> > > > >>>>>> <mx:Label text="Norma: > > >>>>>> {parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.ds_simbolo}"/ > > > >>>>>> <mx:Label text="Material e Tratamento"/> > > >>>>>> ===> aqui eu preciso mostrar os tipos de material do meu xml <=== > > > >>>>>> <mx:Label text="Ângulo da Hélice"/> > > >>>>>> ===> aqui eu preciso mostrar os tipos de angulo do meu xml <=== > > >>>>>> </mx:VBox> > > > >>>>>> Num tem como eu colocar em um repeater e fazer um loop ali onde eu > > >>>>>> preciso??? > > > >>>>>> On 2 abr, 17:55, Luis Eduardo > > ... > > mais »- Ocultar texto entre aspas - > > - Mostrar texto entre aspas - --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---