天天看點

pb全局變量在哪定義

       今天有同僚問我,說全局變量怎麼用,我很納悶,怎麼會問全局變量怎麼用呢?他給我示範說,定義了一個全局變量,在全局函數裡面對他指派的時候,提示全局變量沒定義。我過去一看,還真是。

       pb是個很友善的程式設計工具,我們定義變量,一般都是在目前對象的declare variables   tab頁直接定義變量,這裡可以很友善的定義全局變量,執行個體變量,共享變量,全局外部函數,本地外部函數。但是全局變量是供所有對象使用的,是以全局變量的定義肯定不會包含在目前對象中,雖然這裡可以定義,但是pb會自動把定義的全局變量定義到application對象中,全局變量隻有定義到application中,才能保證他的生命周期擴充都整個應用的運作過程中。

        既然程式報全局變量沒定義的錯誤,全局變量應該是沒有被定義的,我到application聲明變量的地方看了一下,真的沒有定義。但是全局函數聲明變量頁卻存在全局變量的定義。我把全局函數關閉後,再打開,發現先前儲存好的全局變量定義沒有了。

       因為,pb程式設計一般都配合着vss使用,vss簽出的pbl是可寫的,未簽出的pbl是隻讀的,同僚剛好沒有簽出application對象所在的那個pbl。也就造成了applicaiton對象所在的pbl是隻讀的。當在全局函數裡面定義全局變量的時候,雖然顯示儲存成功了,但是并沒有儲存到application中,是以就造成了文章開頭的那一幕。

繼續閱讀