vb 編譯錯誤,vb 沒執行也會出錯?

時間 2023-05-23 11:42:03

1樓:走吧

private sub command1_click(index as integer)

select case index

case 0

= val(text1) +val(text2)

case 1

= val(text1) -val(text2)

case 2

= val(text1) *val(text2)

case 3

if val(text2) =0 then

msgbox "除數不能為", vbokonly + vbcritical, "錯誤"

= val(text1) /val(text2)

end if

case 4

if val(text2) =0 then

msgbox "除數不能為", vbokonly + vbcritical, "錯誤"

= val(text1) \val(text2)

end if

case 5

if val(text2) =0 then

msgbox "除數不能為", vbokonly + vbcritical, "錯誤"

= val(text1) mod val(text2)

end if

end select

end sub

去掉msgbox的括號!

如果是你粘帖的別人的程式,記得把command1的屬性框中的index改成0

2樓:匿名使用者

msgbox後面不能有括號,有括號就成函式了。

最後有兩個end sub,去掉一個。

檢查你的command控制元件的index屬性,你看看是不是陣列。

vb 沒執行也會出錯?

3樓:果建翼

樓上搞笑。這種問題80%是你的程式寫的有漏洞。

操作了記憶體或者一些比較危險的控制代碼,使用了copymemory、varptr,callwindowproc之類的相對於vb本身而言比較危險的操作函式,這樣你在執行程式的時候稍微不注意可能就會導致記憶體訪問越界、資料覆蓋、記憶體洩漏、段異常、棧溢位、棧失衡等問題。

注意,這些問題可能不是一發生就立刻導致程式死掉的,而往往帶有滯後性,有問題的**執行完畢之後可能表面上沒有什麼異常,但是整個程式的執行環境某些方面已經被破環了(比如棧失衡),或者是vb託管的一些控制代碼之類的失效,這些會在之後的某個時間導致問題。

至於你的程式為啥會導致vb的ide掛掉,那是因為按f5執行程式,其實vb是工作在解釋模式下的,你寫的程式和vb的ide是同一個程序,所以你程式內的錯誤會導致vb的ide的出錯,而且往往是滯後性的,當你程式退出之後,某些錯誤才會突然發作(最簡單一個例子,你在vb裡面申請一個陣列,然後使用copymemory改變它的safe_array結構,如果在退出程式的時候沒有改回來,那麼在程式退出時vb的ide就會因為**空間出錯而崩掉,當然這個屬於比較bt的用法了)。

你如果新開啟一個vb,載入你的工程,編譯之後獨立啟動執行,就不會出現ide錯誤的現象。這也是許多人在vb6下面除錯比較危險**時候的一個常用手段。或者就養成每次f5之前先儲存的習慣。

補充:都說了這80%是你**的問題,如果你都重新換了個vb還出現這種問題,那20%也基本上被排除了。你還是按我說的先檢查下你的**吧。

如果實在有不明白的可以貼**片段出來讓大家看看,幫你找毛病。

4樓:鬏靈燊

你的vb有問題。。。是vb的錯,不是你的,,,重灌vb吧,你那已經用不了了。

你的程式設計操作了記憶體或其他危險api嗎?

如果是,那可能就是你程式不嚴謹,如果你就只是用vb的內部函式和一些控制元件,這絕對不是你程式的問題。

5樓:匿名使用者

不是vb的問題,你查查病毒吧,因為「**不能為read」是指定記憶體不能讀的意思,如果是「0x0000...的那就說名是程式乾脆就沒有被分配一個記憶體。

6樓:匿名使用者

「**不能為read」是典型的記憶體訪問越界,比如vb中一個簡單的語句就可以導致這個錯誤:

copymemory byval 0&, 0, 1 '向地址0寫入資料。

你確定你的vb程式中有沒有直接訪問記憶體?或者有沒有引用一些其他的庫?這些庫可能不完善或者庫裡面有比較危險的操作。

vb**輸入錯誤會出現什麼

7樓:我的美我的行

分段檢查,把複雜的問題簡單化。把出錯的地方單獨另列為一個程式,單獨執行。

根據錯誤提示,檢查相應的問題。

根據錯誤的情況,大致可分為語法錯誤,執行錯誤,邏輯錯誤三大類情況。

最簡單的是語法錯誤,程式根本不能執行。應該檢查拼寫語法的問題,如拼寫錯誤,變數未定義等,最好將vb設定為要求強制先宣告變數才能使用,否則會因為變數名拼寫錯誤,出現一些莫名其妙的問題。

其次是執行錯誤,在執行過程中提示錯誤。應該檢查相關資料是否正確,是否有被零整除等錯誤,物件不存在,窗體未建立等。

如果程式能執行,但結果與目的不符合,就是出現了邏輯錯誤,這種錯誤是最難找到和修改的。要認真分析程式中的計算過程,是否出現了問題,如計算公式失誤,邏輯關係判斷失誤等。這種情況可以設立斷點,當執行至斷點時,可以在**中檢視當前的狀態,變數值等,判斷是否有問題。

也可以用彈出對話方塊,新增文字框等方法,在程式執行時,將中間的一些狀態顯示出來,便於分析問題所在。

vc編譯錯誤,到底是什麼問題

8樓:崔苗風春英

first-chance

exception

0xe06d7363:microsoft

c++exception

在vc中除錯程式時,output視窗有時會出現「first-chance

exception

這樣的資訊。

一般來說,這是由於程式中發生了異常,被vc捕獲而產生的輸出。有時在程式執行時並沒出錯,但是在除錯時總是停到此處從而無法除錯下面程式。 first-chance

exception

0xe06d7363:

microsoft

c++exception」。windows

作業系統中廣泛使用了結構化異常(seh)來處理特殊情況,許多和底層打交道的api都靠seh來處理可能發生的意外。並且,這些api中都有捕獲seh的**,產生的異常不會對程式造成影響。但是由於上面提到的「first-chance

exception,second-chance

exception」機制,vc仍然會有輸出,但是我們完全可以忽略。如果你實在不喜歡這些輸出資訊,那你就必須禁用對特定異常的「first-chance

exception」捕獲。

vba程式編譯時的錯誤提示

9樓:匿名使用者

6是錯誤**,溢位是錯誤內容。給你提供一些常見的錯誤**:

3 :無 gosub 返回。

4 :應用程式定義或物件定義錯誤。

5 :無效的過程呼叫或引數。

6 :溢位。

7 :記憶體溢位。

9 :下標越界。

11 :除數為零。

13 :型別不匹配。

14 :字串空間溢位。

16 :表示式太複雜。

17 :不能執行所需的操作。

18 :出現使用者中斷。

47 :dll 應用程式客戶太多。

48 :載入 dll 錯誤。

49 :dll 呼叫約定錯誤。

52 :錯誤的檔名或號碼。

53 :檔案未找到。

54 :檔案模式錯誤。

55 :檔案已開啟。

56 :應用程式定義或物件定義錯誤。

57 :裝置 i/o 錯誤。

58 :檔案已存在。

59 :記錄長度錯誤。

60 :應用程式定義或物件定義錯誤。

61 :磁碟已滿。

62 :輸入超出檔案尾。

63 :記錄號錯誤。

10樓:匿名使用者

溢位錯誤一般是你**中變數定義型別過小 賦值時超過該變數型別限制導致的。

基本上 錯誤號和錯誤描述會同時出現。

6錯誤號。溢位就是錯誤描述。

11樓:匿名使用者

6 溢位。

是指變數在使用時,超出了變數定義的範圍,修改溢位變數的範圍即可。

vs程式設計出錯(vb語言)

12樓:網海1書生

首先,vs中的vb是,它不是vb6的升級版,基本上可以算作是全新的軟體,因此vb6的程式在不能直接執行是很正常的事;

其次,vb6中的變數是允許不宣告就使用的,這本來是為了相容遠古時期的basic語言,但從現代的程式設計角度來看,這是個很不好的習慣,因為一旦你在**中寫錯了變數名,vb是不報錯的,它會把輸錯的變數名當作是新的變數,而由此造成的錯誤是很難發現的。而中則嚴格要求變數必須宣告後才能使用的。

比如你的程式中的r、g、b就是未宣告的三個變數,因此在就會報錯。

我的編譯器vc++6.0出現了下面的問題:出現一個error,是編譯器錯誤麼?

13樓:匿名使用者

通常這種情況是裝載不成功,你應該徹底解除安裝後,重新啟動電腦,然後再裝一次,一定可以。

14樓:海外愛國

你這個應該是編譯器內部錯誤。

你試試換個版本或者重新安裝一下吧。

VB中編譯錯誤,無效外部過程,怎麼解決

vb是事件驅動的。語句和命令必須被包含在過程或函式中。通用區域除了放置定義語句,不能放置其他任何語句。所以 num1 0 num2 0 strnum1 strnum2 fristnum true 這五行你放錯地方了,你可以把他們放到form load事件中 private sub form load...

vb中找不到工程或庫提示編譯錯誤怎麼回事

網海1書生 你的電腦沒有裝dao資料庫引擎。建議改用ado。 沉木雍容 選單欄 工程 引用 選擇紅色相 載飛翮羿茜 如果你使用的已經是vb的企業版,你可採取新建資料工程,再一一新增各窗體檔案和其它相關檔案.再編譯就可能不出現提示找不到 工程或庫 農村人天枰 開啟excel vb 時彈出編譯錯誤的需要...

access sql語句報錯編譯錯誤

從題主貼出來的語句來看,沒發現明顯語法錯誤 如果能將語句複製黏貼出來,注意不是 這樣有助於讓別人判斷你語句的每一個字元是否正確 只是語句執行可能無法利用索引,在大資料表的情況下效率不高而已。本人判斷應該屬office系統的問題,例如未正確安裝 部分元件丟失被誤刪除或其版本不適合 電腦中毒 防毒軟體誤...