سؤال

هل يعرف أي شخص شيئًا عن "العالم" محجوزًا أو مبنيًا في الفصل مع هذا الاسم؟ عندما أحاول بناء المستوى العالمي ، قمت بإنشائها رمي خطأ ترجمة:

1136: Incorrect number of arguments.  Expected 2.

لكنني قمت بالتحقق من مليون مرة ، لا توجد حجج متوقعة على الإطلاق ، كل تسمية الحزمة ، وأنواع متغيرة .. كل شيء صحيح ، لكنه يلقي هذا الخطأ الغبي. :/ جربها بنفسك وسترى أنها تفعل .. أو أنا غبي؟

عندما أحاول استدعاء وظيفة init في المستوى العالمي ، يلقي هذا:

1061: Call to a possibly undefined method init through a reference with static type World.

grr ..

هل كانت مفيدة؟

المحلول

لقد واجهت نفس المشكلة. أعتقد أنه مخصص اعتبارًا من FlashPlayer 10 (ربما 10.1 ، ولكن لا يمكن أن يكون متأكدًا). اضطررت إلى العمل من حوله باستخدام اسم الحزمة الكامل عند الرجوع إلى مستوى عالمي.

var myWorld:com.foo.World = new com.foo.World();

قبيح ، لكنه يعمل!

نصائح أخرى

يجب أن يكون لديك فصل آخر يسمى World في مكان ما في مسار المصدر الخاص بك. انظر إلى الواردات الخاصة بك.

اكتب مسار الحزمة الكامل إذا كان ضروريًا لتجنب الالتباس مع مستوى عالمي آخر في مكان آخر:

var w:my.package.World = new my.package.World();

بعض الاحتمالات الأخرى:

هل تستخدم Flex/Flashbuilder ، واستيراد SWC؟ يمكن أن تعرض تلك الفئات دون الكشف عن رمز المصدر.

أم أنك تجمع من فلوريدا؟ في هذه الحالة ، قد يكون هناك رمز مكتبة يتم تصديره إلى فئة ActionScript التي يتعارض اسمها مع لك.

احتمال آخر هو أن برنامج التحويل البرمجي الفلاش الذي تستخدمه (سواء كان FlashPro أو Flashbuilder) قد قام بتخزين مؤقت بشكل غير صحيح عن تعريف الفصل الذي قمت بإنشائه مسبقًا. لقد واجهت هذا الخطأ عدة مرات من قبل. حاول القيام بمشروع/نظيف (في Flashbuilder) أو ، إذا كنت يائسة ، قم بإنشاء مشروع جديد.

أعتقد أنه يجب عليك التحقق من المعلمات المطلوبة في المُنشئ وجعلها اختياريًا عن طريق المرور = NULL أو أي شيء إلى وظيفة المنشئ.

يمكن أن يحدث هذا "الخطأ" عند وضع رمز من مكتبتك والذي يتطلب معلمات في المنشئ.

package com.myworld
{
    public class World
    {
        public function World(parameter1:int = null, parameter2:String = null ) 
        {

        }
    }
}

هذا امتداد ، ولكن حاول حذف ملفات ASO الخاصة بك (التحكم> حذف ملفات ASO) وإعادة الترجمة.

إذا لم ينجح ذلك ، فإن الشيء الآخر الوحيد الذي أقترحه هو إعادة بناء مشروعك ، واختبار هذه المشكلة في كل مرة تقوم فيها باستيراد واحد أو مجموعة من الفئات. يجب أن يضمن لك هذا النهج على الأقل العثور على المكان الذي نشأت فيه المشكلة.

تقوم فئة المستندات التالية بتجميع وتنفيذ جيد تمامًا بالنسبة لي في Adobe Flash CS5 التي تستهدف مشغل الفلاش 10.1.53.64 (10.1):

package
{
import flash.display.Sprite;
import flash.events.Event;

public class World extends Sprite
    {
    public function World()
        {
        addEventListener(Event.ADDED_TO_STAGE, init);
        }

    private function init(evt:Event):void
        {
        removeEventListener(Event.ADDED_TO_STAGE, init);
        trace("World Document Added To Stage");
        }
    }
}

أنا فقط أتحقق من ذلك بنفسي حتى أنه كان منشورًا قديمًا تم الرد عليه بعد. والسبب هو أنني وجدت هذا المنشور بسبب البحث عن قائمة بالكلمات الرئيسية المحجوزة في AS3.

الكلمة الرئيسية "World" غير محجوز :) ooooops ...

هذه هي القائمة التي وجدتها حتى الآن مع الكلمات / الكلمات الرئيسية المحجوزة في AS3: إذا قمت بتحرير هذه القائمة ، فيرجى ترك تعليق / مع مصادر ... Thx قد تظهر نفس الكلمة الرئيسية في بعض الأحيان مرتين في القائمة ضمن فئات مختلفة ...

0   :   abstract        (future keyword)
1   :   as              (reserved keyword)
2   :   boolean         (future keyword)
3   :   break           (reserved keyword)
4   :   byte            (future keyword)
5   :   case            (reserved keyword)
6   :   cast            (future keyword)
7   :   catch           (reserved keyword)
8   :   char            (future keyword)
9   :   class           (reserved keyword)
10  :   const           (reserved keyword)
11  :   continue        (reserved keyword)
12  :   debugger        (future keyword)
13  :   default         (reserved keyword)
14  :   delete          (reserved keyword)
15  :   do              (reserved keyword)
16  :   double          (future keyword)
17  :   dynamic         (syntactic keyword)
18  :   each            (syntactic keyword)
19  :   else            (reserved keyword)
20  :   enum            (future keyword)
21  :   export          (future keyword)
22  :   extends         (reserved keyword)
23  :   false           (reserved keyword)
24  :   final           (syntactic keyword)
25  :   finally         (reserved keyword)
26  :   float           (future keyword)
27  :   for             (reserved keyword)
28  :   function        (reserved keyword)
29  :   get             (syntactic keyword)
30  :   goto            (future keyword)
31  :   if              (reserved keyword)
32  :   implements      (reserved keyword)
33  :   import          (reserved keyword)
34  :   in              (reserved keyword)
35  :   include         (syntactic keyword)
36  :   instanceof      (reserved keyword)
37  :   interface       (reserved keyword)
38  :   internal        (reserved keyword)
39  :   intrinsic       (future keyword)
40  :   is              (reserved keyword)
41  :   long            (future keyword)
42  :   namespace       (syntactic keyword)
43  :   native          (reserved keyword)
44  :   native          (syntactic keyword)
45  :   new             (reserved keyword)
46  :   null            (reserved keyword)
47  :   override        (syntactic keyword)
48  :   package         (reserved keyword)
49  :   private         (reserved keyword)
50  :   protected       (reserved keyword)
51  :   prototype       (future keyword)
52  :   public          (reserved keyword)
53  :   return          (reserved keyword)
54  :   set             (syntactic keyword)
55  :   short           (future keyword)
56  :   static          (syntactic keyword)
57  :   super           (reserved keyword)
58  :   switch          (reserved keyword)
59  :   synchronized    (future keyword)
60  :   this            (reserved keyword)
61  :   throw           (reserved keyword)
62  :   throws          (future keyword)
63  :   to              (future keyword)
64  :   to              (reserved keyword)
65  :   transient       (future keyword)
66  :   true            (reserved keyword)
67  :   try             (reserved keyword)
68  :   type            (future keyword)
69  :   typeof          (reserved keyword)
70  :   use             (reserved keyword)
71  :   var             (reserved keyword)
72  :   virtual         (future keyword)
73  :   void            (reserved keyword)
74  :   volatile        (future keyword)
75  :   while           (reserved keyword)
76  :   with            (reserved keyword)

فيما يلي 3 صفائف من الكلمات الرئيسية:

private static var reserved:Array = [
                          "as","break","case","catch","class","const","continue","default","delete",
                          "do","else","extends","false","finally","for","function","if","implements",
                          "import","in","instanceof","interface","internal","is","native","new","null",
                          "package","private","protected","public","return","super","switch","this",
                          "throw","to","true","try","typeof","use","var","void","while","with"
                          ];
private static var syntactic:Array = [
                           "each","get","set","namespace","include","dynamic","final","native","override","static"
                           ];
private static var future:Array = [
                        "abstract","boolean","byte","cast","char","debugger","double","enum","export","float",
                        "goto","intrinsic","long","prototype","short","synchronized","throws","to","transient",
                        "type","virtual","volatile"
                        ]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top