'some code ......
'set my doc with the return value from the function...
set recipientdoc = getdocinnab("search string")
if not recipientdoc is nothing then
'in debug i end up here
else
'when i run it i end up here....
print "error"
end if
'some code ......
function getdocinnab(y as string) as notesdocument
dim nabs as variant
dim v as notesview
dim match as notesdocument
dim i as notesitem
nabs = s.addressbooks
forall x in nabs
'get handle on directory to search
call x.open(x.server, x.filepath)
set v = x.getview("($users)")
set match = v.getdocumentbykey(y,true)
if not match is nothing then
print "found ------------> " & y
set getdocinnab = match
else
set getdocinnab = nothing
end if
end forall
end function
函式 getdocinnab 實現了乙個功能:通過引數 y 來查詢個人文件,然後將查詢結果返回。初看上去好像沒什麼問題,實際上這個函式的返回值一直是 nothing。
問題的原因是,nab 資料庫物件是在函式內定義的,當文件作為返回值傳遞給呼叫者時,其 parent 資料庫物件已經銷毀,所以這個文件也就是 nothing 了。
解決的辦法:將資料庫一起作為引數傳遞過去或者定義為全域性變數。
std的vector 作為引數傳入或者作為返回值
引數 std vector 作為引數傳入,是值傳遞,vector本身,及vector內的所有元素都會複製一遍。得不償失,可以使用引用傳遞。即建議寫成 rtype func ptype p1,vector p2,返回值 std vector作為函式返回值,是不會建立新vector物件的。函式內返回的跟...
作為文字輸入
if nchar 0x6d 小鍵盤 0x6b 小鍵盤 0x6a 小鍵盤 0x6f 小鍵盤 下面的例子以輸入日期為例,向你演示如何用加號或減號來向文字框中輸入資料。本例的關鍵是使用vb的dateadd 函式。該函式允許你加減日期 月份及年。步驟如下 建立乙個新工程 在窗體中新增乙個文字框控制項。將下面...
作為雜記001
今天是11月4號,虎年的尾巴只剩56天了,我清楚的認識到時間的緊迫性。必須再抓緊點才能完成年底前結束 寫作的預期目標,最不濟也要完成中期報告。ic設計的理論學習還是不能放鬆的,如果說 的權重佔第一位的話,那這個事情的重要性緊接其後。下午抽空找了幾個ic設計方面的論壇,都挺不錯的,留個備份 http ...