Wie null Objektverweis zu lösen, nachdem instantiate FacebookSessionUtil
-
19-09-2019 - |
Frage
Ich glaube, du mich aus diesem kleinen Problem helfen kann.
Ich bin ein Neuling in Facebook Entwickler von Actionscript 3 als meine Entwickler-Plattform entschieden haben. Ich benutze SWC-Bibliothek von offiziellen Facebook-Actionscript-api , dass von Adobe gefördert .
gefolgt Also habe ich ihr Tutorial. Also ich habe folgende Anweisung:
- Erstellen Sie Flex-Projekt.
- Download und Put-
Facebook_library_v3.4_flex.swc
zu\lib
in Flex-Projekt. -
Geben Sie folgenden Code ein:
import com.facebook.Facebook; import com.facebook.utils.FacebookSessionUtil; private var fbook:Facebook; private var session: FacebookSessionUtil; protected var api_key : String = "my-facebook-app-api-key"; protected var secret_key : String = "my-facebook-app-secret-key"; public function init() : void { //fbook = new Facebook(); session=new FacebookSessionUtil(api_key,secret_key,this.loaderInfo); var fbook : Facebook = session.facebook; session.validateLogin(); }
Nach dem Versuch, Debug-Sitzung zu starten. Ich habe den Fehler nach dieser Anweisung ausführen:
session = neue FacebookSessionUtil (api_key, secret_key, this.loaderInfo);
Ich denke, dass ich etwas falsch gemacht hätte, aber ich kann es nicht herausgefunden. Können Sie mir helfen, indem Ihre Beratung oder Richtlinie zu geben?
Dies ist Ausnahme, die ich bekam:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.facebook.utils::FacebookSessionUtil()[C:\Users\MikeHunt\Work\FacebookAPI\src\com\facebook\utils\FacebookSessionUtil.as:128]
at CheeseZaa/init()[/Users/teerasej/Documents/Flex Builder 3?/freelance/CheeseZaa/src/CheeseZaa.mxml:24]
at CheeseZaa/___CheeseZaa_Application1_creationComplete()[/Users/teerasej/Documents/Flex Builder 3?/freelance/CheeseZaa/src/CheeseZaa.mxml:4]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9440]
at mx.core::UIComponent/set initialized()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:1168]
at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8744]
at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8684]
Ich stelle fest, dass die erste Zeile der Ausnahme zeigen diese:
com.facebook.utils::FacebookSessionUtil()[C:\Users\MikeHunt\Work\FacebookAPI\src\com\facebook\utils\FacebookSessionUtil.as:128]
Aber ich glaube nicht, dass es in Ausnahme einzubeziehen.
Meine Entwicklungsplattform ist:
- Macbook Pro
- OSX Snow Leopard 10.6
- Flash Player 10.0.32 Debugger
- Mozilla Firefox 3.6
- Flex Builder 3.2
- Flex SDK 3.5
- Facebook_library_v3.4_flex.swc
Jeder Vorschlag und Leitlinie wäre es Ihnen danken. Ich denke, das gut für andere Entwickler wäre, die das gleiche Problem wie ich gefunden werden.
Lösung
loader nicht bereit ist, und ist zur Zeit null.
Versuch: -
public function init():void
{
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage, false, 0, true);
}
private function onAddedToStage(event:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
session = new FacebookSessionUtil(api_key, secret_key, this.loaderInfo);
var fbook:Facebook = session.facebook;
session.validateLogin();
}