2011-06-07 18 views
6

मेरे पास एक फ्लेक्स एप्लिकेशन है ("MyApp") मैं काम कर रहा हूं जहां मैं कुछ अजीब और असंगत त्रुटियों को देख रहा हूं। एप्लिकेशन लॉन्च पर तुरंत देखे जाने वाले त्रुटियों में से एक हैक्या फ्लैश/एक्शनस्क्रिप्ट रनटाइम त्रुटि का कारण बनता है "WatcherSetupUtil परिभाषित नहीं किया गया है"?

"Variable _MyAppWatcherSetupUtil is not defined." 

पूर्ण त्रुटि आउटपुट प्रश्न के निचले हिस्से में है।

यह त्रुटि विशेष रूप से अजीब बात यह है कि मैं इसे परियोजना निर्माण करने के बाद तुरंत और लगातार प्राप्त करता हूं (यानी: एसएफएफ कई बार चलाएं और यह हमेशा होता है), और त्रुटि बनाने के लिए मुझे केवल एक चीज करने की आवश्यकता है दूर (मैं यह नहीं कहूंगा कि "इसे ठीक करें") परियोजना को फिर से बनाना है।

क्या किसी को पता है कि यह त्रुटि किस बारे में है? सबसे अच्छा मैं अब तक इकट्ठा कर सकता हूं कि यह बाध्यकारी चर से किसी भी तरह से संबंधित हो सकता है (जो वॉचर यूट का मतलब है), लेकिन मुझे नहीं लगता कि यह निर्माण के बीच असंगत क्यों होगा।


संकलन flex_sdk_4.5.0.20967 से mxmlc के साथ है। हाल ही में एक निर्माण जहां यह हुआ उसके लिए

पूर्ण त्रुटि उत्पादन:

Exception thrown: ReferenceError: Error #1065: Variable _MyAppWatcherSetupUtil is not defined. 
    at global/flash.utils::getDefinitionByName() 
    at MyApp()[C:\code\Sandbox\MyApp\src\MyApp.mxml:6] 
    at _MyApp_mx_managers_SystemManager/create()[_MyApp_mx_managers_SystemManager.as:50] 
    at mx.managers.systemClasses::ChildManager/initializeTopLevelWindow()[E:\dev\hero_private\frameworks\projects\framework\src\mx\managers\systemClasses\ChildManager.as:311] 
    at mx.managers::SystemManager/initializeTopLevelWindow()[E:\dev\hero_private\frameworks\projects\framework\src\mx\managers\SystemManager.as:3063] 
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::kickOff()[E:\dev\hero_private\frameworks\projects\framework\src\mx\managers\SystemManager.as:2849] 
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::preloader_completeHandler()[E:\dev\hero_private\frameworks\projects\framework\src\mx\managers\SystemManager.as:2729] 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at mx.preloaders::Preloader/timerHandler()[E:\dev\hero_private\frameworks\projects\framework\src\mx\preloaders\Preloader.as:542] 
    at flash.utils::Timer/_timerDispatch() 
    at flash.utils::Timer/tick() 

J_A_X के अनुरोध के अनुसार अद्यतन ..:

पहले 7 MXML फ़ाइल की पंक्तियां हैं:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application height="100%" width="100%" 
       xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" 
       initialize="InitData();"> 
<fx:Script source="MyApp.as"/> 

और InitData() कोड (अन्य प्रासंगिक स्क्रिप्ट लाइनों के साथ) MyApp.as फ़ाइल में है:

import classes.RpcServerProxy; 
public var SP:RpcServerProxy; 

public function InitData():void { 
    SP = new RpcServerProxy("http://192.168.1.102:1234"); 
} 
+1

मुझे लगता है कि आपके कोड में कुछ ऐसा अनुमान लगा रहा है, लेकिन यह अजीब बात है कि स्टैक ट्रेस में कुछ भी एक कस्टम घटक नहीं है। वॉटरटर वास्तव में बाध्यकारी से संबंधित है। – JeffryHouser

+0

मेरे पास प्रोजेक्ट में एक कस्टम (और जटिल) शुद्ध क्रियालेख वर्ग है, लेकिन मैंने इसमें कुछ भी नहीं बनाया है। बाध्यकारी संबंध की पुष्टि के लिए धन्यवाद। मेरे लिए सबसे बड़ा रहस्य जो नाखुश करने के लिए यह मुश्किल बना रहा है, निर्माण-निर्माण-निर्माण असंगतता है ... – Russ

+0

यदि यह एक शुद्ध एक्शनस्क्रिप्ट प्रोजेक्ट है; आपने फ्लेक्स के साथ इसे क्यों टैग किया? क्या आप फ्लेक्स घटक का उपयोग कर रहे हैं? – JeffryHouser

उत्तर

4

मुझे नहीं पता कि RpcServerProxy क्या है, लेकिन यह सबकुछ तत्काल होने से पहले कुछ कर रहा है। प्रारंभिक घटना में फ़ंक्शन को कॉल करने के बजाय, इसके बजाय createComplete का उपयोग करें।

आप हमेशा उस कक्षा के भीतर कोड देखना चाहते हैं क्योंकि यह निश्चित रूप से कुछ मजेदार है।

+0

हां, आरपीसीसेवरप्रॉक्सी निश्चित रूप से कई मजेदार चीजें कर रही है:)। शुरू करने के लिए, यह एक गतिशील प्रॉक्सी वर्ग है ... "'सार्वजनिक गतिशील वर्ग आरपीसी सर्वरवर प्रॉक्सी प्रॉक्सी' बढ़ाता है। वहां भी अधिक जटिलता है। यह प्रासंगिक हो सकता है, लेकिन इससे कोई फर्क नहीं पड़ता कि मुझे क्या लगता है कि मुझे एक ही कोड बेस के लिए बिल्ड-टू-बिल्ड विविधताएं देखना चाहिए! मैं 'प्रारंभिक' घटना और 'निर्माण पूर्ण' के बीच समय अंतर को देखता हूं। धन्यवाद! – Russ

+1

धन्यवाद !!! 'प्रारंभिक' से 'निर्माण पूर्ण' तक स्विच करने से न केवल इस समस्या का समाधान हुआ है, लेकिन मैंने "स्टैक अंडरफ्लो" समस्या को पूरी तरह से हल किया है, जिसमें मुझे भी (और पोस्ट किया गया था) !! मुझे यकीन नहीं है कि क्यों, लेकिन यह मुझे यकीन है कि फ्लैश प्रारंभिक कोड/समय थोड़ा सा फ्लेकी है। मैं अब शुरुआतीकरण के लिए 'निर्माण पूर्ण' के साथ रहूंगा। – Russ

+0

मैंने इसे उत्तर के रूप में स्वीकार कर लिया क्योंकि यह मेरी विशिष्ट समस्या को ठीक करता है। प्रारंभिकरण के दौरान अनुक्रमण के साथ कुछ ऐसा चल रहा है। यह भी ध्यान देने योग्य है कि www.flextras.com ने पुष्टि की है कि इसमें "वॉचरसेटअप" के साथ कुछ भी स्वचालित घटना निर्माण/परिवर्तनीय बाध्यकारी के लिए निगरानी से संबंधित है। अनुप्रयोग स्टार्टअप अनुक्रम इस तरह से किसी भी तरह से समस्याएं पैदा करनी चाहिए। ऐसा लगता है कि 'निर्माण पूर्ण' तरीका है। – Russ