none
[VB2005]註冊元件(COM)的兩個疑問? RRS feed

  • 問題

  • 我利用VB2005建置一個COM物件,在右邊的資料夾/bin/debug/有產生幾個檔案,例如xxx.dll,xxx.pdb,xxx.tlb,xxx.xml...,接著我用xxx.dll去註冊時,卻發生『一個或一個以上的檔案不包含元件或型別程式庫,無法安裝這些檔案』的錯誤訊息!但我若點選xxx.tlb卻能註冊成功,因此我有兩個疑問:
    1.建置後,為何除了xxx.dll外,又多一個xxx.tlb的檔案?
    2.在我的認知裡,應該是用xxx.dll去註冊才對,為何用xxx.dll註冊無法成功,反而用xxx.tlb能註冊成功?

    煩請各位高手解惑?謝謝!

    2006年11月30日 下午 03:48

解答

  • TLB 是 COM Type Library,通常用 VB6 開發時,這個 TLB 都會寫入到 DLL 中,所以直接註冊 DLL 就可以,但 TLB 也可以直接獨立一個檔案,此時 DLL 中不會存有 Type Library,所以用 regsvr32 來註冊時會失敗,但註冊 TLB 時就會成功 .
    2006年12月1日 上午 02:24
    版主