外部からmxmlファイル内の関数を呼び出す

私はこのように見える基本的なmxmlアプリケーションを持っています

<?xml version="1.0" encoding="utf-8"?>


    

このswfは、Loaderを使用して別のswfにロードされ、addChild(loader)で追加されます。

親のswfからinit関数を呼び出す必要があります。これどうやってするの? ただ電話する

loader.content.init();

失敗する。

別の質問は、このmxmlファイルの正確なクラス名は何ですか?

ありがとう!

0
正確なエラーは:ReferenceError:Error#1069:_Main_mx_managers_SystemManagerにプロパティinit()が見つかりません。デフォルト値はありません。
追加された 著者 clamp,
あなたは、呼び出しメソッドが失敗すると言う。どのように失敗するのか、どうすればわかるのですか? swfの読み込みに使用するエラーテキストとコードを提供してください。
追加された 著者 Timofei Davydik,

1 答え

アプリケーションmxmlのクラスを直接参照する代わりに、インタフェースを使用することをお勧めします。

  1. Define an interface:

    package behaviors {
        interface Initialiazable 
        {
            function init():void;
        }
    }
    
  2. Implement the interface in the application mxml:

    <?xml version="1.0" encoding="utf-8"?>
    
        
            
  3. Loading the SWF inside other app should be something like this:

    <?xml version="1.0" encoding="utf-8"?>
    
        
        
        
    
        
    
    
    
4
追加された
ありがとうございますが、残念ながらこれはエラーで失敗します:TypeError:エラー#1034:タイプ強制が失敗しました:_Main_mx_managers_SystemManager @ 113720a1をcom.IInitに変換できません。
追加された 著者 clamp,