2009-01-12 67 views
0

這是我使用調用javascript中的函數calc代碼:外部接口錯誤

import flash.external.ExternalInterface; 

ExternalInterface.addCallback("asFunc", this, asFunc); 

function asFunc(str:String):Void { 
    out.text = "JS > Hello " + str; 
} 

send_btn.addEventListener(MouseEvent.CLICK, clickListener); 

function clickListener(eventObj:Object):Void { 
    trace("click > " + mean.text); 
    ExternalInterface.call("calc", mean.text); 
} 

,但我得到了以下錯誤:

1046: Type was not found or was not a compile-time constant: Void.

什麼我錯在這裏做什麼? (我修改了現場文檔中的示例。)

回答

1

Void應該是小寫。

像這樣:

void 
1

外貌(由你的錯誤),就像你有一對夫婦的問題在這裏:

  1. ExternalInterface的兩個參數在AS3,而不是三個
  2. 「太虛」在AS3中應該是「void」

所以假設你的JavaScript代碼是這樣的:

function myJSFunction() 
{ 
    myFlashObject.asFunc("Hello!"); 
} 

function calc(s) 
{ 
    // ... 
} 

...你相應的ActionScript 3代碼看起來應該更像是這樣的:

import flash.external.ExternalInterface; 

function myInitializationHandler():void 
{ 
    ExternalInterface.addCallback("asFunc", asFunc); 
    myFlexButton.addEventListener(MouseEvent.CLICK, clickListener); 
} 

function asFunc(str:String):void 
{ 
    //... 
} 

function clickListener(event:MouseEvent):void 
{ 
    // ... 
    ExternalInterface.call("calc", myFlexTextInput.text); 
} 

有意義嗎?