2010-02-17 2 views
1

Кто-нибудь знает, может ли его доступ к элементам доступа к детям в SWC? Я создал некоторые MC и внутри некоторых из этих MC, у меня есть динамические текстовые поля. Я экспортирую содержимое в SWC и загружаю его в проект Flex. Нет проблем с загрузкой или доступом к родительским элементам, они отображаются нормально. Но я хочу получить доступ к гнездам текстовых полей в MC и изменить текст. Когда я отлаживаю приложение, я вижу текстовые поля как дочерние элементы. Он набирается как TextField, а имя экземпляра совпадает с входом во Flash IDE, но я не могу получить к нему доступ. Когда Flex компилирует, он генерирует ошибку, заявляя, что не распознает метод. Я попытался вставить ActionScript на временной шкале, связанные внешние классы, и ничто не может быть доступно. Кто-нибудь знает, как это сделать?Доступ к дочерним элементам в SWC

+0

Думаю, вам нужно будет показать нам, re try - ваш ком что Cory делает вид, что вы просто пытаетесь получить доступ к полям импортируемого класса. Публичны ли они? Являются ли их типы экспортированы в SWC? –

+0

Я знаю, проблема в том, что я не уверен, как показать вам, его не весь код, скриншот, может быть? Я экспортирую каждый компонент во время выполнения в Flash IDE через параметр Linkage на каждом MC, так что экспортируемый класс - это то, что я могу получить через swc. Я не уверен, как сделать этот дочерний элемент (текстовое поле) общедоступным. Это мой первый опыт использования swc. Правильно ли это? Im размещая каждый из этих компонентов в другом, родительском, контейнерном элементе и экспортируя его как swc. –

ответ

1

Это трудно сказать, так как вы не показывая свой код, который не удается, но я подозреваю, что вы делаете:

import myswc.*; 

myswc.Symbol1.myTextField.text = "Foo" 

вместо

var clip:MovieClip = new myswc.Symbol1(); 
clip.myTextField.text = "Foo" 
+0

Я поместил свой swc в свой путь сборки Flex по пути библиотеки. Поэтому компоненты, которые я пытаюсь получить, мгновенно доступны с помощью var comp: Sprite = new componentFromSWC(); , тогда я могу получить доступ к этому элементу, указав переменную comp. Импорт не требуется, потому что он находится в пути сборки. Когда я попробовал свой метод ссылки на символ/элемент через swc, он не смог его распознать - выбрасывает ошибку компилятора. Есть еще одна ва, которую я должен настроить на мой swc-импорт? Казалось, что это только сработало, и я предположил, что он может получить доступ ко всем элементам. –

+0

Импорт необходим только в том случае, если вы экспортировали свои символы в пакет, кроме стандартного. Рекомендуется правильно упаковать ваши классы. «myswc» не является магическим именем здесь, он был заполнителем любого пакета, который вы использовали в экспорте символов. Подробнее, Sprite не является динамическим классом, поэтому вместо 'comp.myTextField.text' попробуйте' comp ["myTextField"]. Text'. –

+0

У меня такая же проблема. Опять же, это не совсем проблема с кодом, но я попытаюсь объяснить: –

0

Я просто наткнулся на это, а также , и любопытно, почему вы предполагаете, что он НЕ использует имя экземпляра, поскольку myTextField, очевидно, является именем экземпляра для TextField, который он использует.

Смежные вопросы