1樓:網海1書生
vb是事件驅動的。語句和命令必須被包含在過程或函式中。通用區域除了放置定義語句,不能放置其他任何語句。所以
num1 = 0
num2 = 0
strnum1 = ""
strnum2 = ""
fristnum = true
這五行你放錯地方了,你可以把他們放到form_load事件中:
private sub form_load()num1 = 0
num2 = 0
strnum1 = ""
strnum2 = ""
fristnum = true
end sub
但你的**還有好多錯誤,粗看了下不下10處,而且是很致命的錯誤,是無法執行的。你還是一點一點搞清楚了再說吧。
2樓:匿名使用者
1、else '非初賦值
strnum1=strnum1+
str (index)
else 後面的語句應該是在一行的
2、除非是常量,任何賦值語句都必須在某個過程內
3樓:匿名使用者
你太粗心了。
-----------------------......................
text1.text = strnum1 '顯示end select
end sub
........................
這個地方的兩個end語句是不是多餘的?這樣導致後面的語句被認為是過程定義外的了。
你再仔細看看
-----------------------
vb 編譯錯誤:無效外部過程 5
4樓:匿名使用者
是把**寫在子過程、函式過程或屬性過程外而發生的錯誤。
在過程外無效:
該語句必須發生在子過程、函式過程或屬性過程(property get、property let 和
property set)內部。這個錯誤的起因與解決方法如下所示:
*一個可執行的語句,如 static 或 redim,出現在模組級別中。
在模組級中 static 是不需要的,因為所有的模組級變數都是靜態的。在模組級中用 dim 來代替
redim。想要在模組級中建立動態陣列,請用
dim 加空括弧來宣告它。
注意 在模組級只能使用註釋與宣告性語句,例如
const、declare、deftype、dim、option base、option
compare、option explicit、option
private、private、public 和
type。子過程、函式過程和屬性過程語句發生在它們的過程體之外,但在過程內宣告。
5樓:匿名使用者
無效外部過程的原因和解決如下:
1,區域性變數不能直接放在通用**裡面,要放在過程裡面。
比如dim a as integer
private sub command1_click()a = 4
b = 6
end sub
一般的語句如 a=4 寫在 private sub 裡面,才可用;
如果把位置調換下:
dim a as integer
a = 4
private sub command1_click()a = 4
b = 6
end sub
上面的a=4是無效的外部過程
若在調換位置:
a = 4
private sub command1_click()b = 6
end sub
變數移動到**視窗的最上方,為定義全域性變數。
若再稍加改動:
option explicit
dim a as integer
private sub command1_click()a = 4
b = 6
end sub
是窗體或模組級變數
2、呼叫的sub沒有定義,且不是vb自帶的可能是你呼叫了一個未新增的函式或子過程。
3、變數不能在通用區域賦值,必須新增一個過程,定義也必須按規則,否則為變體(variant)而非你所定義的變數。
vb編譯錯誤無效外部過程怎麼解決呀? 5
6樓:匿名使用者
把這些**放到一個過程或函式裡去。
比如放到form_click()或一個command1_click()
或自己建立一個過程,比如:
sub a()
...end sub
然後在某單擊事件裡呼叫。
為什麼vb老說無效外部過程?
7樓:匿名使用者
應該寫在過程中的**寫到了過程外。
在過程外無效
該語句必須發生在子過程、函式過程或屬性過程(property get、property let 和
property set)內部。這個錯誤的起因與解決方法如下所示:
一個可執行的語句,如 static 或 redim,出現在模組級別中。
在模組級中 static 是不需要的,因為所有的模組級變數都是靜態的。在模組級中用 dim 來代替
redim。想要在模組級中建立動態陣列,請用
dim 加空括弧來宣告它。
注意 在模組級只能使用註釋與宣告性語句,例如
const、declare、deftype、dim、option base、option
compare、option explicit、option
private、private、public 和
type。子過程、函式過程和屬性過程語句發生在它們的過程體之外,但在過程內宣告。
例在窗體的通用部分寫了print a就會出現錯誤提示對話方塊。且錯誤**高亮。
8樓:匿名使用者
比如下面的簡單程式
---------------------------------dim a as integer
private sub command1_click()a = 3
b = 4
end sub
----------------------------------一般的語句如 a=3 要寫在 private sub 裡面,才可用如果寫成
-----------------------------------
dim a as integer
a = 3
private sub command1_click()a = 3
b = 4
end sub
------------------------------------
上面的a=3就是無效的外部過程
你把游標移動到**視窗的最上方,就是定義全域性變數的地方,
vb無效外部過程
9樓:匿名使用者
是把**寫在子過程、函式過程或屬性過程外而發生的錯誤。
在過程外無效:
該語句必須發生在子過程、函式過程或屬性過程(property get、property let 和
property set)內部。這個錯誤的起因與解決方法如下所示:
*一個可執行的語句,如 static 或 redim,出現在模組級別中。
在模組級中 static 是不需要的,因為所有的模組級變數都是靜態的。在模組級中用 dim 來代替
redim。想要在模組級中建立動態陣列,請用
dim 加空括弧來宣告它。
注意 在模組級只能使用註釋與宣告性語句,例如
const、declare、deftype、dim、option base、option
compare、option explicit、option
private、private、public 和
type。子過程、函式過程和屬性過程語句發生在它們的過程體之外,但在過程內宣告。
10樓:仙曼容鄔琦
你不會是直接放在通用**裡面吧?
放在過程裡面,比如這樣
private
subform_click()f1=
0f2=1
f1,f2i=
3dof3=
f2+f1print
f3f1=f2
f2=f3i
=i+1
loop
while
i<50end
sub左擊一下窗體就開始執行了
vb程式設計問題 執行後 編譯錯誤:無效外部過程.
11樓:匿名使用者
private sub command1_click()label1.caption = ""
for a = 0 to 20
for b = 0 to 33
c = 100 - a - b
if 15 * a + 9 * b + c = 300 thenlabel1.caption = label1.caption & "公雞母雞小雞各" & a & "," & b & "," & c & " 只 " & vbcrlf 'vbcrlf是在同一行的
end if
next
next
end sub
vb 編譯錯誤,vb 沒執行也會出錯?
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 ...
vb中找不到工程或庫提示編譯錯誤怎麼回事
網海1書生 你的電腦沒有裝dao資料庫引擎。建議改用ado。 沉木雍容 選單欄 工程 引用 選擇紅色相 載飛翮羿茜 如果你使用的已經是vb的企業版,你可採取新建資料工程,再一一新增各窗體檔案和其它相關檔案.再編譯就可能不出現提示找不到 工程或庫 農村人天枰 開啟excel vb 時彈出編譯錯誤的需要...
c語言編譯錯誤c1010該怎麼解決
在編譯vc 6.0是,出現fatal error c1010 unexpected end of file while looking for precompiled header directive 的錯誤.解決方法 1 如果發生錯誤的檔案是由其他的c 檔案新增進入當前工程而引起的,則alt f7...