![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2008
Сообщений: 29
|
Здравствуйте.
Я новичек и в АС 3 и во Флекс. Потому появилась проблема. Создаю во Флекс MXML Application проэкт + в libs создаю файлик AS со своими классами и методами. В проэкте пишу creationComplete="имя метода" или на буттон click="имя метода", выдает ошибку 1180: Call to a possibly undefined method qqq. Если делаю вот так: Ошибка исчезает но ничего не делает ![]() Вот код АС3 файла FirstProject.as: |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А что вы хотели сказать компилятору импортом класса?
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 29
|
Хотел сказать компилятору что у меня есть такие вот класы с такими методами, иначе как он их найдет? (я пхп программист) Например чтобы ПХП скрипт увидел класс, его естественно сначала нужно вставить примерно так:
Вообщем суть в том, как заставить MXML проэкт видеть созданные АС файлы с классами, дабы весь АС код выносить за MXML файл и не писать
<mx:Script> .... Последний раз редактировалось UnVisible; 13.07.2008 в 20:29. Причина: Недописал =) |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну так вы же вызываете методы mxml-класса, которых у него отродясь не было. Импорт роли не играет.
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 29
|
Это понятно. Ну так как решить эту проблему? Или это нереально?
Ужасно не хочется делать с кода кашу. |
|
|||||
|
Modus ponens
|
Скомпилировать классы в SWC и подключать как ресурс. (если пакет менять не предполагается)
или оформить в MXML компонент <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundGradientColors="[0xFFFFFF, 0xAAAAAA]"
horizontalAlign="left"
verticalGap="15"
horizontalGap="15"
applicationComplete="appComplete();">
<mx:Script>
<![CDATA[
import org.wvxvw.flextest.Test;
private function appComplete():void {
this.addChild(new Test());
}
]]>
</mx:Script>
</mx:Application>
package org.wvxvw.flextest
{
import mx.core.UIComponent;
public class Test extends UIComponent
{
public function Test()
{
super();
this.graphics.beginFill(0);
this.graphics.drawRect(0, 0, 100, 100);
this.graphics.endFill();
}
}
}
Это даже не пример, это просто чтобы какое-то направление дать, так делать не надо =)
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 14.07.2008 в 16:05. |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 66
|
Вероятно ему хочеться вот так:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
<mx:Script>
<![CDATA[
//Импотрировали класс
import FirstProject;
//Создали экземпляр класса FirstProject
private var newFirstProject:FirstProject = FirstProject()
//функция перехвата события нажатия на кнопку
private function onClick(evt:Event)
{
//вызов вункции у экземпляра класса FirstProject
newFirstProject.qqq();
}
]]>
</mx:Script>
<mx:Button click="onClick(event)" />
</mx:Application>
Последний раз редактировалось Захаров; 14.07.2008 в 18:02. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Захаров, отредактируйте свой пост и оформите код тегами [code][/code].
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|