【发布时间】:2019-02-24 18:49:37
【问题描述】:
事实证明,在嵌入式<fx:Script><![CDATA[ 中声明一个类是不可能的,所以我需要将动作脚本代码放入并包含在外部源文件中。错误被注释掉
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="1955" minHeight="1600">
<fx:Script source="URLRequest.as" />
<s:layout>
<s:BasicLayout />
</s:layout>
<s:Panel x="0" y="0" width="955" height="600" title="Bypass">
<s:layout>
<s:BasicLayout />
</s:layout>
<s:Label x="1" y="1" text="Please enter the ɢɪᴛ repository ʜᴛᴛᴘ ᴜʀʟ :"/>
<s:TextInput x="224" y="1" width="726" id="txtName" text="http://ytrezq.sdfeu.org/flashredirect/?http"/>
<s:Button x="1" y="12" label="ɢɪᴛ push !" click="send()"/> <!-- Undefined Method method error -->
</s:Panel>
<fx:Declarations>
</fx:Declarations>
</s:Application>
在 URLRequest.as 中:
final public class MyClass {
// some stuff
}
public function send():void {
var request:Myclass=new Myclass(txtName.text);
// Some stuff with
}
所以问题很简单,但我在任何地方都找不到答案。至少对于带有 Spark 的 mxml 来说不是。send() 不需要在一个类中,正如您所见,它在一个类之外。但它需要使用自定义类。
那么我怎样才能从 URLRequest.as 调用send()?
【问题讨论】:
-
您发布的内容非常令人困惑:1. 您应该避免创建一个名为
URLRequest的类,以避免显式转换和其他恶作剧,因为已经有一个名为 URLRequest 的 as3 类,2.@ 987654328@ 似乎没有定义。请让您和其他人更容易理解/测试您的代码 -
@GeorgeProfenza 我犯了一个错误:帖子已编辑。实际上,我通过在 Urlrequest 中的部分重新实现发现了一个安全问题,因此我忘记了更改名称。不再令人困惑
-
文件名应与类名相同。如果您的班级名称是 MyClass,那么文件名必须是 MyClass.as 并且不能是其他名称。此外,您的类文件的结构错误:顶部定义是 package 然后是 class 然后方法是在类内部而不是外部定义的。
-
@Organis 除了当你阅读
send()method 不在课堂上,据我所知这是不需要的。据我了解,我也不需要声明一个包。如果我错了,请纠正我。 -
每个 AS3 类都是一个单独的文件。 AS3 类文件与可包含的 ActionScript 文件完全不同。如果您想使用类,那么正如我在上面指出的那样,您做错了。如果您只需要在一个单独的文件中包含一段 ActionScript 代码以便可以将其包含在 fx:Script 标记中,那么您不应该在该文件中声明一个类。
标签: actionscript-3 flex4.5 mxml