2009-04-08 61 views
2

我最近編輯了一個同學的數據收集軟件,符合我的規範。當我在Visual Basic 6中運行時,該程序運行正常,但理想情況下,我想將程序編譯爲.exe文件,以便可以從任何PC運行它。但是,當我選擇將其轉換爲exe的選項時,編譯時出現以下錯誤:將程序編譯爲EXE的問題,VB 6

編譯錯誤:未定義子或函數。

我很好奇爲什麼我的程序將在Visual Basic中運行,但無法編譯成exe。任何修復/建議將不勝感激!

回答

4

在每個文件的開頭寫上「option explicit」。這將vb行爲從弱類型變爲強類型。

這意味着當你把一個字符串放入一個整數時,vb會馬上告訴你,或者至少當你按下「run」時。在弱類型模式下,程序將運行直至遇到故障,例如「Sub或Function not defined」,然後崩潰。

當你編譯成一個「exe」時,vb需要進行額外的完整性檢查,就像「option explicit」會做的一樣。這就是爲什麼在正常執行時你看不到問題。它仍然存在,潛伏,但你可能不執行有問題的路線。

在每個你有的vb源文件中使用這個關鍵字是非常重要的,否則你會一直看到這樣的問題。

+0

This and the以前的答案幫助我弄清楚如何編譯我的程序。顯然,在我之前編寫這個軟件的人遺漏了很多變量聲明。所以我必須通過並實際聲明所有未聲明的變量。完成之後,程序編譯得很好。 – Sam 2009-04-08 20:09:11

6

您必須使用開始(F5)在IDE中運行應用程序 - 這不會執行完整編譯,因此不會捕獲所有編譯錯誤。我建議你總是使用Start With Full Compile(Ctrl + F5) - 然後它會告訴你錯誤在哪裏。

您可以創建一個自定義控制欄按鈕來完成「全編譯開始 - 保存」,一直保存輸入CTRL + F5。

5

它允許您運行該程序,即使由於IDE支持的Compile On Demand功能而無法編譯該程序。正如其他帖子中提到的,你可以按CTRL-F5做一個完整的編譯,或者你可以進入Options-> General並關閉Compile On Demand ...(節省大量的CTRL-F5s)

+0

選項 - >編輯器,並打開'需要變量聲明'是另一個必須設置的選項 – 2009-04-08 18:18:23