我正在使用如下命令从 Flash 应用程序进行通信: ExternalInterface.call("hello", "world")
这在 C# 端通过以下方式处理:
string swfPath = Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "test.swf";
this.axFlash.LoadMovie(1, swfPath);
this.axFlash.FlashCall += new AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEventHandler(axFlash_FlashCall);
并且偶函数声明为
void axFlash_FlashCall(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FlashCallEvent e)
{
}
只要屏幕上有一个设置为使用 TLF 文本的文本框,axFlash_FlashCal 就可以正常调用。(任何文本框都可以,没有特定的 ID)。没有文本框,甚至不会触发。(即使 ExternalInterface.Avaliable 设置为 true)
我尝试使用 CS4 和 CS5 发布,同时使用 Flash 10 和 9 作为输出。这些事情都没有改变。
我正在使用 AS3 和 .NET 4.0。有没有人遇到过这个问题,或者知道为什么需要 TLF 文本才能工作?