VB中的子函式或函式未定義怎麼回事

時間 2021-07-08 21:57:09

1樓:匿名使用者

過程名稱拼錯。檢查拼寫並改正。試圖從另一個工程呼叫過程,但並沒有在「引用」 對話方塊中將該引用新增到該工程。

子函式或函式未定義屬「sub, function,或 property 未定義(錯誤 35)」。

sub,function,或 property 未定義(錯誤 35)。

2樓:匿名使用者

子函式或函式未定義屬「sub, function, 或 property 未定義(錯誤 35)」

sub, function, 或 property 未定義(錯誤 35)

呼叫 sub、function 或 property 的過程必須定義。此錯誤有以下的原因和解決方法:

*過程名稱拼錯。

檢查拼寫並改正。

*試圖從另一個工程呼叫過程,但並沒有在「引用」

對話方塊中將該引用新增到該工程。

新增引用

1.顯示「引用」 對話方塊。

2.查詢包含要呼叫過程的工程名。如果「引用」 對話方塊中沒有所要的工程名,請按「瀏覽」按鈕來搜尋它。

3.選取工程名左邊的核取方塊。

4.單擊「確定」。

呼叫的過程看不到所指定的過程。

*在模組中宣告為 private

的過程不能被模組外部的過程呼叫。如果 option private module

起作用的話,其他工程就不能使用模組中的過程。尋找以確定過程的位置

*申明windows動態連結庫

(dll)例程,但例程不在指定的庫或**資源中。

*檢查序號(如果正使用的話)或例程名稱。請確保 dll 的版本是正確的。例程有可能只存在於較後的 dll

版本。如果在路徑中,錯誤版本的目錄在含有正確版本的目錄之前的話,就會訪問到錯誤的 dll。所給的 dll 名稱雖正確,但並非指定函式所包含的版本。

詳細資訊,可選取有問題的專案,並按下 f1 鍵。

3樓:匿名使用者

你大概是要用api獲得計算機名吧,這段**已經除錯。

private const max_computername = 255

private declare function getcomputername lib "kernel32" alias "getcomputernamea" (byval lpbuffer as string, nsize as long) as long

private sub form_load()dim tmp as string

tmp = space(max_computername + 1)call getcomputername(tmp, len(tmp))

text1.text = trim(tmp)text2.text = trim(tmp)text3.text = trim(tmp)end sub

4樓:匿名使用者

你呼叫的函式getcomputername是api函式,需要先宣告才能使用。

api函式getcomputername的宣告如下:

private declare function getcomputername lib "kernel32" alias "getcomputernamea" (byval lpbuffer as string, nsize as long) as long

把這個宣告放到**的通用區域(就是**的最前面)

還用函式trimnull並不是vb自帶的函式,**大致如下:

private function trimnull(tmp as string) as string

dim i as integer, l as integer

l = len(tmp)

for i = 1 to l

if mid(tmp, i, 1) = vbnull then

exit function

else

trimnull = trimnull & mid(tmp, i, 1)

end if

next i

end function

說明下,trimnull函式不能用trim函式代替,trim函式只能把字串前後的空格去掉但不能把vbnull字元去掉(vbnull字元作用是用於說明字串結束)。

還有一個疑問,變數/常量max_computername是你定義的嗎?它有初始值嗎?

vb中子程式或函式未定義是什麼意思

5樓:匿名使用者

vb中子程式或函式未定義是指sub, function, 或 property 未定義等。

sub, function, 或 property 未定義(錯誤

35)呼叫 sub、function 或 property 的過程必須定義。此錯誤有以下的原因和解決方法:

o 過程名稱拼錯。

檢查拼寫並改正。

o 試圖從另一個工程呼叫過程,但並沒有在「引用」

對話方塊中將該引用新增到該工程。

新增引用

顯示「引用」 對話方塊。

查詢包含要呼叫過程的工程名。如果「引用」 對話方塊中沒有所要的工程名,請按「瀏覽」按鈕來搜尋它。

選取工程名左邊的核取方塊。

單擊「確定」。

呼叫的過程看不到所指定的過程。

在模組中宣告為 private

的過程不能被模組外部的過程呼叫。如果 option private module

起作用的話,其他工程就不能使用模組中的過程。尋找以確定過程的位置

申明windows動態連結庫

(dll)例程,但例程不在指定的庫或**資源中。

檢查序號(如果正使用的話)或例程名稱。請確保 dll 的版本是正確的。例程有可能只存在於較後的 dll

版本。如果在路徑中,錯誤版本的目錄在含有正確版本的目錄之前的話,就會訪問到錯誤的 dll。所給的 dll 名稱雖正確,但並非指定函式所包含的版本。

詳細資訊,可選取有問題的專案,並按下 f1 鍵。

6樓:匿名使用者

出問題的程式中,如果有呼叫其他子過程的**,可能的原因是1.你被呼叫的子過程明細寫錯了,2.你的子過程是在其他的模組,而子過程是private 不是public的過程;如果沒有呼叫其他的過程,那可能是你的函式名字寫錯了(可能不存在這個函式名字, 比如format,不小心寫成了fomat等等。

7樓:匿名使用者

可能相應的部件沒有應用,或者函式名寫錯了,建議發出**。

8樓:王伊晨

子程式是指你程式裡面呼叫的程式,來看一下你的程式,command1_click() 裡面**是子程式或者函式,可以發現你呼叫了一個vb的內建函式msg,你想用這個函式來輸出提示資訊,不錯。但是,想法很好,函式卻用錯了,你看一下msdn會發現根本沒有msg(),近似的有msgbox(),這個函式正是輸出內容的函式。呼叫之:

msgbox ("注意,你的1號框裡沒有任何內空**入.")

這樣沒有內容輸入的時候,這個提示「注意,你的1號框裡沒有任何內空**入.」的對話方塊舊出來了,學一個函式一定要搞清出他的來歷,用法

9樓:設計營地

估計是函式名弄錯了。

vb中子程式或函式未定義是什麼意思

vb中子程式或函式未定義是指sub,function,或 property 未定義等。sub,function,或 property 未定義 錯誤 35 呼叫 sub function 或 property 的過程必須定義。此錯誤有以下的原因和解決方法 o 過程名稱拼錯。檢查拼寫並改正。o 試圖從另...

PHP程式中怎麼解決“未定義的索引”這個問題

藍色海吧 通常出現未定義的索引問題是由於陣列沒有這個值造成的,陣列分為關聯陣列和索引陣列,索引陣列是數字下標 關聯陣列是鍵值下標。post id 之所以報未定義索引是因為 post這個陣列裡沒有包含下標鍵值為id的值。解決辦法 判斷陣列中是否包含下標鍵值為id的值,如果沒有,則返回錯誤資訊,如何判斷...

vb自定義函式中可以包含事件嗎

if text gotfocus then text index backcolor vbred if text lostfocus then text index backcolor vbwhite 這種寫法是不行的!vb是事件驅動語言。所以,你應該寫作 當然你必須的有一個控制元件陣列叫做text...