Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[AS/MXML] Flex met XML

Pagina: 1
Acties:

  • DNA_Saint
  • Registratie: Maart 2004
  • Laatst online: 10-11 13:48

DNA_Saint

Go Go Gadget Ondertitel!

Topicstarter
Ik probeer via een settings.xml tekst te laden in buttons.
Maar de code zelf is goed, maar ik krijg een error als ik het in de browser bekijk:
TypeError: Error #1034: Type Coercion failed: cannot convert mx.utils::ObjectProxy@eaaf781 to mx.collections.ArrayCollection.
Alle code hieronder is uit een gestript bestand om het wat duidelijker te maken.
Mijn code: (upload.mxml)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="initApp();"  initialize="myService.send()" alpha="1" themeColor="haloGreen" backgroundGradientAlphas="[0.9, 0.96]" backgroundGradientColors="[#000000, #70828f]">
    
    
    <mx:Style source="assets/styles/main.css"/>
    
    <mx:Script source="FlexFileUpload_cb.as"/>

 <mx:HTTPService id="myService"
           url="settings.xml"
           result="resultHandler(event)"/>
           
        
        <mx:ControlBar>
        
            <mx:Spacer width="100%"/>
                <mx:HBox>
                    <mx:Button label="{myData.getItemAt(0).browsebtn}" id="browseBTN"/>
                    <mx:Button label="{myData.getItemAt(0).uploadbtn}" id="upload_btn"/>
                    <mx:Button label="{myData.getItemAt(0).delbtn}" id="delButton"/>
                    <mx:Button label="{myData.getItemAt(0).clrbtn}" id="clearButton"/>
                </mx:HBox>
                
        </mx:ControlBar>
        
    </mx:Panel>
    
</mx:Application>


actionscript file
Flash ActionScript:
1
2
3
4
5
6
7
8
9
10
            import mx.collections.ArrayCollection;
            import mx.rpc.events.ResultEvent;
           
                 [Bindable]
                 private var myData:ArrayCollection;
                 
                 private function resultHandler(event:ResultEvent):void {
                       myData = event.result.settings;
                     
                 }


XML
code:
1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<settings>
    <browsebtn>bladeren</browsebtn>
    <uploadbtn>uploaden</uploadbtn> 
    <delbtn>verwijder</delbtn>
    <clearbtn>reset</clearbtn> 
</settings>



Ik weet dus niet wat er fout is.
Maar doe ik het in ieder geval wel goed?

Huub Huub Barbatruc!


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Afgaand op de foutmelding is myData geen collection. Ik denk dat je maar eens een breakpoint op de resultHandler functie moet plaatsen en vooral controleren wat de inhoud van event.result is.

If it isn't broken, fix it until it is..


  • DNA_Saint
  • Registratie: Maart 2004
  • Laatst online: 10-11 13:48

DNA_Saint

Go Go Gadget Ondertitel!

Topicstarter
het probleem is dat ik Flex Builder niet heb en alleen maar de SDK.
Kan dus zeer moeilijk debuggen...

Huub Huub Barbatruc!


Verwijderd

myData is wel een arrayCollection, en wat je erin stopt niet, ik weet niet precies wat event.result.settings bevat, maar het is geen arrayCollection. is het xml? misschien moet je dan XMLListCollection hebben?