كيفية حل مرجع كائن فارغ بعد إنشاء إنشاءات FacebookSessession
-
19-09-2019 - |
سؤال
أعتقد أنه يمكنك مساعدتي من هذه المشكلة الصغيرة.
أنا مبتدئ في Facebook Developer عن طريق اختيار ActionScript 3 كمنصة مطوري. أنا استخدم مكتبة SWC من Official Facebook-ActionScript-API التي تروج لها أدوبي.
لذلك اتبعت البرنامج التعليمي. لذلك قمت بتتبع التعليمات:
- إنشاء مشروع فليكس.
- تحميل ووضع
Facebook_library_v3.4_flex.swc
ل\lib
في مشروع فليكس. توفير التعليمات البرمجية التالية:
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(); }
بعد محاولة تشغيل جلسة التصحيح. حصلت على الخطأ بعد تنفيذ هذا البيان:
الجلسة = New FacebookSessionUtil (Api_key، Secret_key، this.loaderinfo)؛
أعتقد أنني فعلت شيئا خاطئا لكنني لم أستطع معرفة ذلك. هل يمكن أن تساعدني من خلال إعطاء نصيحتك أو أي إرشادات؟
هذا استثناء حصلت عليه:
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]
لاحظت أن السطر الأول من الاستثناء تظهر هذا:
com.facebook.utils::FacebookSessionUtil()[C:\Users\MikeHunt\Work\FacebookAPI\src\com\facebook\utils\FacebookSessionUtil.as:128]
لكنني لست متأكدا من أنها تنطوي على استثناء.
منصة التنمية الخاصة بي هي:
- ماك بوك برو
- OSX سنو ليوبارد 10.6
- فلاش لاعب 10.0.32 مصحح
- موزيلا فايرفوكس 3.6.
- باني فليكس 3.2.
- فليكس SDK 3.5.
- Facebook_library_v3.4_flex.swc.
كل اقتراح ومبدأ توجيهي سيكون شكرا لك. أعتقد أن هذا سيكون جيدا للمطور الآخر الذي قد وجد نفس المشكلة مثلي.
المحلول
Loaderinfo غير جاهز وهو حاليا فارغ.
محاولة:-
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();
}