我想定義一個物件型別的公共變數。但是傳遞失敗。代碼如下:
public doc as object
public range1 as object
private sub officecontrol1_ondocumentopened(byval file as string,byval document as object) '有第三方的OCX控制元件提供的函式
set doc =document
set range1=doc.range(start:=0,end:=10)
end sub
private sub command2_click()
text3.text=doc.range(start:=0,end:=10) ' 這里就不能參考了,錯誤提示“物件變數”
text4.text=range1 ‘這里的結果為空根本沒有傳遞過來
end sub
問題二:無法定義 dim doc as new object。我用的是VB6.0精簡版。是什么問題
uj5u.com熱心網友回復:
那估計是:doc物件為空,你監測一下doc是否傳遞成功。uj5u.com熱心網友回復:
既然是“第三方提供的函式”,怎么會有“自己的代碼”?
如果private sub officecontrol1_ondocumentopened() 是你自己寫的代碼,
你試試把第二個引數由:byval 改為 byref (或者不寫傳遞方式)。
問題二: 是寫法錯誤吧!
new 后面應該是跟具體的、可直接實體化的類(類名)。
如果是“Object”型別,應該是這樣寫吧:dim doc as object
uj5u.com熱心網友回復:
既然是公共變數,你就不需要傳遞,需要的地方直接使用即可object是抽象類,不能直接new,也并非所有的類都能能new的
uj5u.com熱心網友回復:
公共變數要定義在模塊(.bas檔案)中啊。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/66990.html
標籤:VB基礎類
