星期四, 8月 12, 2010

Microsoft.Jet.OLEDB.4.0 提供者並未登錄於本機電腦上

因為Microsoft Jet 沒有支援 64 位元的版本的Driver 所以才會發生錯誤

解決辦法:
1. 請點選標準工具中的「方案組態」下拉方塊,然後選擇「組態管理員」。如下圖:
http://img818.imageshack.us/img818/9089/3e56b726a8784cfeada0a1e.png

2. 點選「使用中的方案平台」下拉方塊,然後選擇「新增」,如下圖:
http://img829.imageshack.us/img829/1417/47eecc1abebf4baaaf165b6.png
3. 當出現「新增方案平台」對話方塊時,請在上方的「輸入或選擇新平台」下拉方塊選擇「x64」,然後按確定,再按「關閉」即可。如下圖:
http://img251.imageshack.us/img251/4138/6f30363a9dde47aa855a0f5.png

出自阿彬

星期一, 8月 09, 2010

Flash Scene - 多場景互動

在開發flash 的時候,用多個場景可以讓版面和時間軸保持乾乾淨淨~

可是今天發現不同場景互相呼叫 function 的時候,被呼叫的 function 會跑到呼叫者的場景
而不同場景上的元件是不能互相存取的! (這個部分是經驗而已,有誤請不吝指正:D)

以下舉個例子:

scene1 - function1 { call mc1; call function2; }
              \ mc1

scene2 - function2 { call mc2; }
              \ mc2

依此例來討論,function1 呼叫 function2 的時候, function2 會在 scene1 中被執行
如此一來就會發生錯誤,因為 scene1 中並沒有 mc2


解決辦法:

在 function2 第一行插入 gotoAndStop(1, "scene2");
則會先跳轉到 scene2 後才會執行接下來的程式碼 就不會出現錯誤



另外附上從 ActionScript 3.0 語言和組件參考 中列出場景的範例

for (var i:uint = 0; i < MovieClip(root).scenes.length; i++)
 {
    var scene:Scene = MovieClip(root).scenes[i];
    trace("scene " + scene.name + ": " + scene.numFrames + " frames");
}