TypeError: Error #1009: Cannot access a property or method of a null object reference


im working on little project involves me using php,flash , mysql together. im trying input data flash database , able retrieve , show in flash. how seem have run types of errors, called typeerror , argumenterror irritating me. maybe because im late dont seem understand it. here errors:

 

typeerror: error #1009: cannot access property or method of null object reference.

          @ main/onresult()[c:\users\daniel\desktop\uwamp\www\yomo\main.as:91]

 

argumenterror: error #2173: unable read object in stream.  class flex.messaging.io.arraycollection not implement flash.utils.iexternalizable aliased externalizable class.

 

and here's coding

 

package

{

          import flash.display.movieclip;

          import flash.display.sprite;

          import flash.events.mouseevent;

          import flash.net.netconnection;

          import flash.net.responder;

          import flash.text.textfield;

          import com.demonsters.debugger.monsterdebugger

          /**

           * ...

           * @author dar

           */

          public class main extends movieclip

          {

                    private var conn:netconnection;

 

                    public var name1:textfield

                    public var name2:textfield;

                    public var name3:textfield;

                    public var name4:textfield;

 

                    public var rating1:textfield;

                    public var rating2:textfield;

                    public var rating3:textfield;

                    public var rating4:textfield;

 

                    public var comments1:textfield;

                    public var comments2:textfield;

                    public var comments3:textfield;

                    public var comments4:textfield;

 

                    public var inputname:textfield;

                    public var inputcomment:textfield;

                    public var inputrating:textfield;

                    public var submitreviewbtn:sprite;

 

                    public function main()

                    {

                              monsterdebugger.initialize(this);

                              trace ("document class running");

                              setupconnection();

                              setupinputarea();

                              getreviews();

 

                    }

 

                    private function setupinputarea()

                    {

                              submitreviewbtn.addeventlistener(mouseevent.click, addnewreview);

                    }

 

                    private function addnewreview(e:mouseevent):void

                    {

                              //add review database

                              var resaddreview:responder = new responder(onaddreviewsuccess, onaddreviewfail);

                              conn.call("yomo_films.addreview", resaddreview,  inputname, inputrating, inputcomment);

                              gotoandstop(5);

                    }

 

                    private function adduserreview():void

                    {

                              var resaddreview:responder = new responder(onaddreviewsuccess, onaddreviewfail);

                              conn.call("yomo_films.addreview", resaddreview, "amanda", 5 , "really movie");

                    }

 

                    private function onaddreviewfail(o:object):void

                    {

 

                    }

 

                    private function onaddreviewsuccess(o:object):void

                    {

                              //refresh reviews

                              getreviews();

                    }

 

                    private function getreviews():void

                    {

                              //create responder object

                              var res:responder = new responder(onresult, onfail);

                              //run call our service

                              conn.call("yomo_films.getreviews", res);

                    }

 

                    private function onresult(o:object):void

                    {

                              trace("success");

                              monsterdebugger.trace("onresult", o);

                              //populate our reviews table

                              (var i:int = 0; <o.length; i++)

                              {

                                        //get our current name / rating / comments object

                                        var item:object = o[i];

                                        var nametxt:textfield = getchildbyname("name" + (i + 1)) textfield;

                                        var ratingtxt:textfield = getchildbyname("ratings" + (i + 1)) textfield;

                                        var commenttxt:textfield = getchildbyname("comments" + (i + 1)) textfield;

                                        //test if have name

                                        if (item.name)

                                        {

                                                  nametxt.text = item.name;

                                                  ratingtxt.text = item.ratings;

                                                  commenttxt.text = item.comments;

                                        }

                              }

                    }

 

                    private function onfail(o:object):void

                    {

                              trace("failed");

                              monsterdebugger.trace("onfail", o);

                    }

 

                    private function setupconnection():void

                    {

                              trace("setting gateway connection");

                              //create new net connection

                              conn = new netconnection();

                              //connect net connection

                              conn.connect("http://localhost/amfphp/gateway.php");

                    }

 

          }

 

and heres php coding dont think theres wrong ypu never know

 

          public function __construct()

          {

                    //connect our database using pdo

                     $this->dbh = new pdo('mysql:host=localhost;dbname=yomo_db', 'root', 'root');

          }

 

 

          //adding review database

          public function addreview($name, $ratings, $comments)

          {

                    //prepare , sql statement adding review database

                    $stmt = $this->dbh->prepare('insert yomo_reviews (name, ratings, comments) values (?, ?, ?)');

                    //bind our values statement

                    $stmt->bindvalue(1, $name);

                    $stmt->bindvalue(2, $ratings);

                    $stmt->bindvalue(3, $comments);

                    //execute statement

                    $stmt->execute();

                    //return statement if success or fail

                    return $stmt;

          }

 

          //get reviews database

          public function getreviews()

          {

                    //query database reviews

                    $query = $this->dbh->query('select * yomo_reviews limit 4');

                    //fetch results

                    $result = $query->fetchall(pdo::fetch_assoc);

                    //return results

                    return $result;

          }

 

any appreciated @ point in time

i can't sure involves both errors, seems might.  in 1 line appear call 2 functions when create new responder

 

     var res:responder = new responder(onresult, onfail);

 

both of functions require argument passed them, name "o" in function definitions.

 

in onresult function "o" value used specify loop control value.  if not pass object null... account 1009 error when try use o.

 

the 2007 error might talking missing argument.



More discussions in ActionScript 3


adobe

Comments

Popular posts from this blog

Adobe Acrobat Pro , Terminal Server Use

Thread: transmission-daemon isn't playing nice: "409: Conflict"

Thread: gpg: Conflicting Commands