Я создал простой SWF с интерфейсом:
public class Test extends MovieClip implements ITest
{
public function Test()
{
Security.allowDomain("*");
Security.allowInsecureDomain("*");
}
public function speak(str):String
{
trace(str);
return "yeah";
}
}
ITest:
public interface ITest {
// Interface methods:
function speak(str):String
}
А потом я пытаюсь загрузить его:
public function SWFLoader()
{
var url='http://xxxxxxxx/test.swf';
var loadURL:URLRequest=new URLRequest(url);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
loader.load(loadURL, context);
}
private function completeHandler(event:Event):void
{
var test:ITest;
test = event.target.content as ITest;
test.speak("ggg");
}
Так что, если у меня есть test.swf в той же директории (локально), все будет хорошо. Но если я размещаю его на выделенном сервере: (event.target.content as ITest) возвращает ноль. Тем не менее, я могу получить доступ к speak () без интерфейса, подобного этому event.target.content.speak ("a!");
Как решить эту проблему?