none
開發有關PAPAGO程式時,在手機模擬器上發生"class not registered"之問題? RRS feed

  • 問題

  • 我們目前利用 VS2005 中的Visual C# 以及PAPAGO SDK在開發有關於PAPAGO的手機應用程式

     

    我們已經將bmpsdkv5.dll以及ppgsdk50.dll加入參考

     

    並用regsvr32 手動註冊bmpsdkv5.dll及ppgsdk50.dll兩個dll檔

     

    但是!!!

     

    在new一個物件時      

     

    MapObjectClass obj = new MapObjectClass();

     

    編譯時這行就會發生錯誤訊息如下

     

    COM object with CLSID '{A83D2D9C-1FFE-4044-8B9D-D4CB173AA163}'

    cannot be created due to the following error: Class not registered.

     

    然後我們加上了 try 和 catch來處理exception後,編譯可以通過

     

    但在模擬器上

     

    卻跑出相同的錯誤(如上)

     

     

    一直都找不出解決方法

     

    卡在這個地方卡了很久

     

    可以拜託各位高手幫忙解答一下嗎?

     

    我們會非常感恩的~~~

     

    2007年7月18日 下午 12:45

解答

  • 你用的DLL跟regsvr32都是PC上用的耶~

    你應該要裝PaPaGo SDK Mobile的版本
    就會有cebmpsdkv5.dll以及ceppgsdk50.dll
    要用這兩個才對~
    2007年7月18日 下午 05:30

所有回覆

  • 你用的DLL跟regsvr32都是PC上用的耶~

    你應該要裝PaPaGo SDK Mobile的版本
    就會有cebmpsdkv5.dll以及ceppgsdk50.dll
    要用這兩個才對~
    2007年7月18日 下午 05:30
  • 真的太感謝你了

    我們找到這兩個檔案了~~!

     

    之前我們也有安裝PaPaGo SDK Pocket PC版

    但因為設備跟模擬器都是windows Mobile 5.0版

    所以在\windows底下找不到這兩個檔案

    這次使用Pocket PC 2003 進行模擬

    才找到這兩個dll檔

     

    可是現在遇到一個新的問題

    分別複製這兩個dll到模擬器跟我們的手機上

    佈署我們開發中的專案

    手機上可以運行

    反而模擬器上不可以

    請問有可能是什麼原因呢?

    可以給我們一點方向嗎?

    謝謝你~~~

    2007年7月20日 上午 06:43
  • 你複製啥檔案啊?
    把檔名貼出來吧...

    我猜你是用VS透過ActiveSync佈署到PDA實機上,但是只是把檔案copy到模擬器中,才會有不一樣的結果
    2007年7月24日 上午 10:55
  • 謝謝你的回答

    我又重新試過一遍,應該算有佈署成功,因為可以呼叫papago的函數(部份成功)

     

    是使用cebmpsdk.dll以及bmpsdkv5.dll這兩個檔案

     

    不過同樣的程式碼,在PDA實機上可以正常運行

    但在模擬器上會跳出"開啟地圖檔失敗"

     

    Code Snippet

            MapObjectClass a = new MapObjectClass();

                    int bResult;
                    a.LoadProfile(@"\Storage Card\STANDARDV5.mpb", out bResult);
                   
                    if (bResult == 0)
                    {
                        MessageBox.Show("開啟風格檔失敗");
                    }

                    a.OpenMap(@"\Storage Card\Taiwan.nv5", out bResult);
                   
                    if (bResult == 0)
                    {
                        MessageBox.Show("開啟地圖檔失敗");
                    }

     

    我有確認過路徑、檔名都沒有錯誤

    模擬器和實機使用的是相同的檔案

     

    麻煩了~

    謝謝

    2007年7月25日 上午 10:03
  • 我試出來了

     

    原先我在模擬器設定儲存卡是用以下方式

    [檔案] - [設定] - [共用資料夾] 再選擇資料夾

     

    後來把這個拿掉之後

    直接在PPC目錄下

    新建Storage Card這個資料夾

    再把檔案複製進去

     

    這樣就才可以運行

     

     

    不過又有點問題...

    就是如何能讓PPC的容量增大

    用以上的方法

    不能夠放太多東西...

     

    以及增加速度

    我把RAM大小設成了256

    PPC跑起來好像比較慢耶

     

    麻煩大家幫幫忙

    謝謝囉

     

    2007年7月27日 下午 04:00
  • 因為PAPAGO的地圖檔都比較大
    建議還是用實機開發~
    或者挑小一點的地圖檔...
    2007年7月29日 下午 02:58
  •  

    有關地圖

    我們沒有找到其他比較小的地圖檔

    所以模擬器只能慢慢的移動

    不過還是謝謝你一直以來熱心的回答

    幫了我們不少忙

    給了我們很多方向

    很感激你

     

    2007年8月6日 下午 01:35
  • Jan Yeh大很謝謝你的回覆,可是小弟我新增移除程式幾次後還是不行  ^ ^

    在此想問 LuoBoDun大,請問你之後storage card那部份是如何改的

    複製是複製什麼呢  (我是全複製過去可是連v5都不能跑)

    因為我也是卡在地圖檔一直讀不到,若你還有印象可幫我解惑一下嗎 謝謝


     

    2008年1月2日 下午 04:29