OCX編寫小記之 物件作用域智障篇。

2021-07-26 17:25:03 字數 381 閱讀 3139

在初接觸ocx時,最困惑的是,自己宣告乙個非外部呼叫的變數或者方法時,有時候可以編譯通過,有時候不行。而網上關於ocx資料又不多。今天試了一下,找了下原因。

首先情況是,我在.h的類中新增了乙個屬性,然後在對應的cpp檔案中手寫了乙個函式(未在.h中新增宣告,不是類函式),在這個函式中對該屬性(不是作為引數傳進來的)進行操作。然後就是編譯報錯了。而我之前在另乙個ocx檔案中的手寫函式就可以直接執行(不對類屬性進行操作)。

然後就把函式的宣告新增進了.h中,編譯通過。

寫完文章,我才發覺,好像是屬性作用域的問題,類的屬性作用域應該只在類的方法中可以改。而我宣告的屬性 並不是乙個全域性變數,所以不能被乙個全域性的函式修改。但是如果我在全域性函式中 使用乙個類的物件呼叫該物件的屬性的話,應該是可以的。智障了!

python 函式作用域小記

函式內部的變數只作用在函式內部,外部是不能呼叫的。python 中有作用域鏈,變數會由內向外找,先在自己的作用域找,自己沒有再向上級找,直到找不到報錯。若在自己的作用域找到了變數,而在賦值之前呼叫則程式會報錯 1name milton def f1 print name f1 程式會輸出 milto...

設定物件作用域

設定物件作用域 物件的作用域決定哪些指令碼可以使用該物件。預設情況下,當您建立物件例項時,該物件具有頁作用域。同一 asp 頁中的任何指令碼命令都能使用該頁作用域的物件 當 asp 頁送回客戶端時,該物件即被釋放。對大多數物件來說,推薦的作用域是頁作用域。您可以改變乙個物件的作用域,使其可被其他頁的...

設定物件作用域

設定物件作用域 物件的作用域決定哪些指令碼可以使用該物件。預設情況下,當您建立物件例項時,該物件具有頁作用域。同一 asp 頁中的任何指令碼命令都能使用該頁作用域的物件 當 asp 頁送回客戶端時,該物件即被釋放。對大多數物件來說,推薦的作用域是頁作用域。您可以改變乙個物件的作用域,使其可被其他頁的...