Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vb一問?? 一事件和一事件間的陣列?

0 views
Skip to first unread message

scribble

unread,
Dec 6, 2001, 11:11:24 AM12/6/01
to
as title..

我將陣列放在事件一上..
但卻要在事件二用到事件一的陣列..
執行時..出現編譯有誤===>沒有定義sub 或 function..
我該怎麼辦?..
那裡錯了..
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 163.17.80.47

深夜家族--難燭

unread,
Dec 6, 2001, 12:48:37 PM12/6/01
to
※ 引述《scribb...@bbs.cs.nthu.edu.tw (scribble)》之銘言:
: 標 題: vb一問?? 一事件和一事件間的陣列?
: 發信站: 清華資訊(楓橋驛站) (Fri Dec 7 00:11:24 2001)
: 轉信站: ntoucc!news!news!ctu-peer!ctu-gate!news.nctu!newsfeed.nthu!news.cs.nth
:
: as title..

:
: 我將陣列放在事件一上..
: 但卻要在事件二用到事件一的陣列..
: 執行時..出現編譯有誤===>沒有定義sub 或 function..
: 我該怎麼辦?..
: 那裡錯了..

若陣列的使用範圍在表單之內則可將陣列宣告為全域陣列變數
若陣列的使用範圍在整個專案則可將陣列宣告在模組中
亦可將陣列宣告在事件程序中但宣告為Public

例: Public Arr(50) as Integer
: --


: ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 163.17.80.47

--
[1;33;40m 有一天...當我年齡到了什麼都不在乎時..... [m

[1;33;40m 酸酸的白色長髮.....和兩隻貓咪......是唯一的人生............ [m

--
[1;36m※ Origin: [32m海大計中 BBS [36m◆ From: [33m163.30.196.94 [0m

Vincent

unread,
Dec 6, 2001, 8:37:45 PM12/6/01
to
==> 在 abraha...@bbs.ntou.edu.tw (深夜家族--難燭) 的文章中提到:

> ※ 引述《scribb...@bbs.cs.nthu.edu.tw (scribble)》之銘言:
> : 標 題: vb一問?? 一事件和一事件間的陣列?
> : 發信站: 清華資訊(楓橋驛站) (Fri Dec 7 00:11:24 2001)
> : 轉信站: ntoucc!news!news!ctu-peer!ctu-gate!news.nctu!newsfeed.nthu!news.cs.nth
> : as title..
> : 我將陣列放在事件一上..
> : 但卻要在事件二用到事件一的陣列..
> : 執行時..出現編譯有誤===>沒有定義sub 或 function..
> : 我該怎麼辦?..
> : 那裡錯了..
> 若陣列的使用範圍在表單之內則可將陣列宣告為全域陣列變數
> 若陣列的使用範圍在整個專案則可將陣列宣告在模組中
> 亦可將陣列宣告在事件程序中但宣告為Public
> 例: Public Arr(50) as Integer
> : --

這位仁兄~~~~
陣列可宣告為Public嗎??
請自己確定過再po
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

Vincent

unread,
Dec 6, 2001, 9:12:21 PM12/6/01
to
==> 在 scribb...@bbs.cs.nthu.edu.tw (scribble) 的文章中提到:

> as title..
> 我將陣列放在事件一上..
> 但卻要在事件二用到事件一的陣列..
> 執行時..出現編譯有誤===>沒有定義sub 或 function..
> 我該怎麼辦?..
> 那裡錯了..

所謂的事件也不過是個 Subroutine
只不過它會因各個控制項的行為發生而自動執行
VB中的參數宣告會因為declare的位置及方式不同
而有不同的生命週期
如果是在Form中宣告的則其生命週期隨著Form_Unload而從記憶體中釋放
如果是在Sub或是Function裡頭宣告的
(Sub與Function裡頭不可再宣告public或private)
則該參數隨著End Sub或End Function而釋放消失
如你在其他ㄉ程序中再去呼叫當然會呼叫不到
變數共用的方法有很多種
針對你的情況提供幾種作為參考
如果你所謂的事件一及事件二都在同一個Form或是任何Module的話
可在該Form或Module開頭就先宣告一個空陣列
等到要用的時候再去ReDim
如果你考慮到想節省記憶體的話
可直接在事件的宣告中傳值(這是最好用的方法)
例如: Private Sub txtComCode_Change()
Dim AAA(10) as string
:
:
:
CheckCode(AAA())
:
End Sub

Private Sub CheckCode(byref CodeSource() as string)
:
:
:
End Sub
由於陣列並無法宣告成Public
但是該陣列卻又會經常被呼叫
那麼是否考慮改用Recordset會比較好用,況且Recordset提供了更多的彈性用法
如果還是不想用Recordset
建議你在該專案中開個Module(好像叫作模組吧)
在Module中即可將該陣列宣告為Public
並且可在該專案中"四處引用""到處呼叫"
不過倒是佔記憶體
試試看吧~~

深夜家族--難燭

unread,
Dec 6, 2001, 9:42:26 PM12/6/01
to
※ 引述《vincent...@bbs.cis.nctu.edu.tw (Vincent)》之銘言:
: 標 題: Re: vb一問?? 一事件和一事件間的陣列?
: 發信站: 交大資科_BBS (Fri Dec 7 09:37:45 2001)
: 轉信站: ntoucc!news!news!ctu-peer!news.nctu!news.cis.nctu!cis_nctu
:
: ==> 在 abraha...@bbs.ntou.edu.tw (深夜家族--難燭) 的文章中提到:

: > ※ 引述《scribb...@bbs.cs.nthu.edu.tw (scribble)》之銘言:
: > : 標 題: vb一問?? 一事件和一事件間的陣列?
: > : 發信站: 清華資訊(楓橋驛站) (Fri Dec 7 00:11:24 2001)
: > : 轉信站: ntoucc!news!news!ctu-peer!ctu-gate!news.nctu!newsfeed.nthu!news.cs.nth
: > : as title..

: > : 我將陣列放在事件一上..
: > : 但卻要在事件二用到事件一的陣列..
: > : 執行時..出現編譯有誤===>沒有定義sub 或 function..
: > : 我該怎麼辦?..
: > : 那裡錯了..
: > 若陣列的使用範圍在表單之內則可將陣列宣告為全域陣列變數
: > 若陣列的使用範圍在整個專案則可將陣列宣告在模組中
: > 亦可將陣列宣告在事件程序中但宣告為Public
真的不行嗎??真的很抱歉...我回去試試
但全域陣列一定可以ㄅ歐..
這邊的人都挺傲的.....不過有實力才有辦法"傲"...
這個高手可否幫個忙....解決我之前po的問題...
我問過好多地方好多人....都找不到解決方法....
拜脫..謝謝...

: > 例: Public Arr(50) as Integer
: > : --
:
: 這位仁兄~~~~
: 陣列可宣告為Public嗎??
: 請自己確定過再po
: --


: * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

--


[1;33;40m 有一天...當我年齡到了什麼都不在乎時..... [m

[1;33;40m 酸酸的白色長髮.....和兩隻貓咪......是唯一的人生............ [m

--
[1;36m※ Origin: [32m海大計中 BBS [36m◆ From: [33m140.121.179.101 [0m

深夜家族--難燭

unread,
Dec 6, 2001, 11:23:33 PM12/6/01
to
※ 引述《vincent...@bbs.cis.nctu.edu.tw (Vincent)》之銘言:
: 標 題: Re: vb一問?? 一事件和一事件間的陣列?
: 發信站: 交大資科_BBS (Fri Dec 7 09:37:45 2001)
: 轉信站: ntoucc!news!news!ctu-peer!news.nctu!news.cis.nctu!cis_nctu
:
: ==> 在 abraha...@bbs.ntou.edu.tw (深夜家族--難燭) 的文章中提到:
: > ※ 引述《scribb...@bbs.cs.nthu.edu.tw (scribble)》之銘言:
: > : 標 題: vb一問?? 一事件和一事件間的陣列?
: > : 發信站: 清華資訊(楓橋驛站) (Fri Dec 7 00:11:24 2001)
: > : 轉信站: ntoucc!news!news!ctu-peer!ctu-gate!news.nctu!newsfeed.nthu!news.cs.nth
: > : as title..
: > : 我將陣列放在事件一上..
: > : 但卻要在事件二用到事件一的陣列..
: > : 執行時..出現編譯有誤===>沒有定義sub 或 function..
: > : 我該怎麼辦?..
: > : 那裡錯了..
: > 若陣列的使用範圍在表單之內則可將陣列宣告為全域陣列變數
: > 若陣列的使用範圍在整個專案則可將陣列宣告在模組中
: > 亦可將陣列宣告在事件程序中但宣告為Public
: > 例: Public Arr(50) as Integer
: > : --
:
: 這位仁兄~~~~
: 陣列可宣告為Public嗎??
: 請自己確定過再po
我回去試過了...可以阿..
未啥不行阿????.....仁兄....你試過嗎?....
可能我的VB有問題喔...竟然可一耶..呵呵呵......

: --
: * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

--
[1;33;40m 有一天...當我年齡到了什麼都不在乎時..... [m

[1;33;40m 酸酸的白色長髮.....和兩隻貓咪......是唯一的人生............ [m

--
[1;36m※ Origin: [32m海大計中 BBS [36m◆ From: [33m140.121.125.228 [0m

Vincent

unread,
Dec 7, 2001, 12:25:25 AM12/7/01
to
==> 在 abraha...@bbs.ntou.edu.tw (深夜家族--難燭) 的文章中提到:
> ※ 引述《vincent...@bbs.cis.nctu.edu.tw (Vincent)》之銘言:
> : 標 題: Re: vb一問?? 一事件和一事件間的陣列?
> : 發信站: 交大資科_BBS (Fri Dec 7 09:37:45 2001)
> : 轉信站: ntoucc!news!news!ctu-peer!news.nctu!news.cis.nctu!cis_nctu
> : 這位仁兄~~~~
> : 陣列可宣告為Public嗎??
> : 請自己確定過再po
> 我回去試過了...可以阿..
> 未啥不行阿????.....仁兄....你試過嗎?....
> 可能我的VB有問題喔...竟然可一耶..呵呵呵......
> : --
> : * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

不好意思~~可能我沒寫清處
大部分的人應該會在Form裡頭處理這個問題
如果是在寫DLL或是COM元件的話
用的都是Class或Module
在Class 或是 Module裡頭當然可宣告為Public
不然你可試試在For裡頭宣告一個Public的陣列
如果能跑的話我可能就要打電話去問微軟ㄌ
我買到的VS有問題

深夜家族--難燭

unread,
Dec 7, 2001, 4:44:24 AM12/7/01
to
※ 引述《vincent...@bbs.cis.nctu.edu.tw (Vincent)》之銘言:
: 標 題: Re: vb一問?? 一事件和一事件間的陣列?
: 發信站: 交大資科_BBS (Fri Dec 7 13:25:25 2001)
: 轉信站: ntoucc!news!news!ctu-peer!news.nctu!news.cis.nctu!cis_nctu
:
: ==> 在 abraha...@bbs.ntou.edu.tw (深夜家族--難燭) 的文章中提到:


可能也很少人....我自己也沒寫過..在for回圈裡宣告...
挺酷的方法....
可能我們都誤會彼此的想法了...
你提到了dll com元件 似乎有扯遠囉...
那時他只問... 在"事件中"....
而且我只是回答你的"陣列可以宣告成Public"
因為我的層度比較差...所以我不會在for回圈.
或某個子程序中才去宣告.....
我沒說可以這樣宣告說....
因為我也沒看過別人....這樣子宣告....

: * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

--

堂本光峻

unread,
Dec 10, 2001, 7:31:09 AM12/10/01
to
※ 引述《abraha...@bbs.ntou.edu.tw (深夜家族--難燭)》之銘言:

> ※ 引述《vincent...@bbs.cis.nctu.edu.tw (Vincent)》之銘言:
> : 標 題: Re: vb一問?? 一事件和一事件間的陣列?
> : 發信站: 交大資科_BBS (Fri Dec 7 13:25:25 2001)
> : 轉信站: ntoucc!news!news!ctu-peer!news.nctu!news.cis.nctu!cis_nctu
> : 不好意思~~可能我沒寫清處
> : 大部分的人應該會在Form裡頭處理這個問題
> : 如果是在寫DLL或是COM元件的話
> : 用的都是Class或Module
> : 在Class 或是 Module裡頭當然可宣告為Public
> : 不然你可試試在For裡頭宣告一個Public的陣列
Form
> : 如果能跑的話我可能就要打電話去問微軟ㄌ
> : 我買到的VS有問題
> 可能也很少人....我自己也沒寫過..在for回圈裡宣告...
我猜他是指Form吧....差一個字母感覺差很多

> 挺酷的方法....
> 可能我們都誤會彼此的想法了...
> 你提到了dll com元件 似乎有扯遠囉...

恕刪..

> : * Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

--
獨上孤嶺聞 [1;5;34m殘風 [0m
為誰寒露立 [1;5;35m千宵 [0m
[1;37m[ [1;5;36m刀魔 [0m [1;37m] [0m-星野殘 [1;31m紅 [0m
--
[1;32m※ Origin: [33m摩卡小築 [37m<moca.csie.chu.edu.tw> [m
[1;31m◆ From: [36mu199-126.u203-204.giga.net.tw [m

0 new messages