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 試圖從另...

matlab怎麼在主函式中呼叫子函式計算出來的值

如果希望子函式計算出來的值可以被呼叫,那麼需要將其作為子函式的返回值。下面給出乙個簡單的示例 1 建立子函式my 儲存在當前工作目錄下 function a,b,c,d my fun x,y a x y b x y c x y d x y end2 主函式中可根據需要呼叫部分返回值,例如。x 10 ...

VB中的EXP函式

exp arg 表示自然對數 e的arg次方,e 2.71828182845905因此exp 1 就是e的一次方,以此類推exp 0 1exp 1 0.367879441171442exp 2 0.135335283236613 我是個vb初學者誰能給我解釋一下vb中的 exp,log,是幹什麼的還...