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
Post a Comment