由於LocalConnection Class不是Dynamic Class,所以如果在AS 2.0中使用,例如:
class myClass {
private var receive_lc:LocalConnection;
function myClass() {
receive_lc = new LocalConnection();
receive_lc.connect("lcname");
receive_lc.MethodtoCall = function() {
// code...
};
}
}
執行語法檢查或者Export時,都會出現錯誤: There is no property with the name 'MethodtoCall'.
解決方法一 不在LocalConnection使用Strict Typing(不建議用此): private var receive_lc;
解決方法二 利用Array Operator定義接收Method: receive_lc["MethodtoCall"] = function() {...}
解決方法三 建立一個LocalConnection的Dynamic Sub-Class:dynamic class LC_Class extends LocalConnection {
function LC_Class() {
super();
}
}
在myClass使用此Sub-Class:
import LC_Class;
class myClass {
private var receive_lc:LC_Class;
function myClass() {
receive_lc = new LC_Class();
receive_lc.connect("lcname");
receive_lc.MethodtoCall = function() {
// code...
};
}
}
解決方法四 Macromedia Flash開發團隊已經知道這問題,會在下個Updater解決它,將LocalConnection Class改回Dynamic。 |