Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   видимость массива в пакете (http://www.flasher.ru/forum/showthread.php?t=93989)

Bramfeld 02.04.2007 16:22

видимость массива в пакете
 
Код:

package testPackage
{
  import *;
 
  public class myClass1 extends Sprite
  {
      public var myArray:Array=new Array();


      public function myFunc1(args):void
      {
          // myArray initialize
      }

      public function myFunc2(event:MouseEvent):void
      {
          trace(myArray); //здесь myArray "виден"
      }

      public function myFunc3(args):void
      {
          trace(myArray); //а вот здесь myArray "невиден"
      }
  }
}

___________________________________________________________

package testPackage
{
  import *;
  import testPackage.myClass1=new myClass1();

  public class myClass2 extends Sprite
  {
      public var myClass1Ins:myClass1=new myClass1();

      public function myFunc4(event:MouseEvent):void
      {
          myClass1Ins.myFunc3(args);
      }

  }
}

как "увидеть" myArray в myFunc3?

etc 02.04.2007 16:46

Директива import неправильная. Это раз.
Во-вторых, вне методов функции только объявляются, без присваивания значений (только если это не простые типы данных, массив и класс к ним не относятся).

Bramfeld 02.04.2007 17:49

Цитата:

Сообщение от __etc
Директива import во втором классе неправильная.

описочка вышла. на самом деле импортировано вот так.
Код:

import testPackage.myClass1;

спасибо! ;)

etc 02.04.2007 17:57

Работает или нет?

Bramfeld 02.04.2007 18:07

пока еще нет...
я там еще одну описку нашел - прописал переменную в пакете...

etc 02.04.2007 18:23

Нужно import testPackage.*;

Bramfeld 02.04.2007 18:50

Цитата:

Сообщение от __etc
Нужно import testPackage.*;

сейчас попробую

Kohl 03.04.2007 10:13

Попробуй так:
Код:

package testPackage
{
  import *;
  public var myArray:Array;

  public class myClass1 extends Sprite

      public function myFunc1(args):void
      {
          // myArray initialize

          myArray=new Array()
      }

      public function myFunc2(event:MouseEvent):void
      {
          trace(myArray); //здесь myArray "виден"
      }

      public function myFunc3(args):void
      {
          trace(myArray); //а вот здесь myArray "невиден"
      }
  }
}


Bramfeld 03.04.2007 15:21

Цитата:

Сообщение от Kohl
Попробуй так:
Код:

package testPackage
{
  import *;

  public class myClass1 extends Sprite
  {
    public var myArray:Array;

      public function myFunc1(args):void
      {
          // myArray initialize

          myArray=new Array()
      }

      public function myFunc2(event:MouseEvent):void
      {
          trace(myArray); //здесь myArray "виден"
      }

      public function myFunc3(args):void
      {
          trace(myArray); //а вот здесь myArray "невиден"
      }
  }
}


не получается... раньше трейс в myFunc3 выдавал пустую строку, а теперь выдает null

7thsky™ 03.04.2007 17:10

А ты можешь объяснить чего ты хочешь добиться?


Часовой пояс GMT +4, время: 17:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.