2012-06-25 96 views
6

我有一些vb6代碼,我很久沒有編譯過了。最後一次編譯正在進行中。現在,當我進行完整編譯時,出現錯誤「用戶定義類型未定義」。我確定有參考丟失但是沒有高亮的代碼。我似乎無法找到可能丟失的參考。vb6用戶自定義類型未定義完全編譯時出錯

任何線索,我能做些什麼,以尋找失蹤的引用將是非常有益的。

謝謝!

戴夫

+2

你試過'顯式的選項On' – Shahzeb

+1

你可以粘貼變量定義我們呢?這將有助於確定所需的必要參考(如果有的話) – ZnArK

+1

這是一個包含約250個表單,類和模塊的項目。如果我可以縮小代碼以僅發佈區域是一個問題,那將是非常好的。但是沒有辦法做到這一點。而且,是的,顯式選項設置爲無處不在。 –

回答

3

你需要確保你有適當的項目引用對話框檢查。這在代碼之外,它們列在VBP文件(text file)中。

EDIT修正參考存儲。由於MarkJ

+0

是的......問題是已經有大約40個項目已經被檢查,而其他的則沒有。而這個錯誤給我沒有更多的信息。我正在尋找一種方法來找到哪個參考文件丟失。 –

+1

參考窗口可能有一個帶有「(Missing)」後綴的窗口。 – Deanna

+1

引用由IDE以某種方式處理:它們在VBP文件中列出,VBP文件是一個文本文件[如VB6手冊中所述](http://msdn.microsoft.com/zh-cn/library/aa716294(v = vs.60))。你有版本控制中的VBP嗎?你可以看看用於構建最後編譯的VBP,看看是否引用了某些東西,那現在沒有引用它了嗎? – MarkJ

4

我有這種情況發生之前,它讓我抓狂!但後來我發現這一點:

http://support.microsoft.com/kb/190197

與二進制兼容性編譯時發生。上述解決方案建議關閉二進制兼容性並重新編譯 - 然後將突出顯示缺失的引用。

其他步驟,你可以嘗試:

  • 而不是關閉BC的一切尋找那些 最近更改
  • 搜索Ç的:驅動器和開發文件夾,刪除任何 * .OCA文件
  • 也看在VBP文件的任何引用OCA
+1

如果您的兼容性參考是您的二進制文件,您也可能會遇到問題。將最後構建的版本二進制文件複製到不同的文件夾,然後設置兼容性。 –

+0

是的好點 - 我總是有一個單獨的發佈文件夾 –

0

確保所有的對象類型的拼寫正確。像拼寫VariantVarient這樣的簡單錯誤也會導致此錯誤。

+0

但它應該突出顯示它。 – Deanna

+0

Office 2007(它沒有強調它) – leeand00

0

你還在使用,其中原始編譯製成和/或以相同的OS 在同一臺機器?

如果答案是否定的,那麼VB6或其它類似程序有可能與Win7或更高版本中不再提供的引用相關聯,如果您使用的是現代版本的studio,則可能還包括編譯器。

由於代碼也是在VB6,如果你使用任何外部商業控制,並再次如果不是在同一臺機器上,你會如果你沒有端口在圖書館那些鬆散的聯繫,以及。

相關問題