近期在項目開發中遇到一個問題,用BCB6畫一個scrollbox,再用程序建10個以scrollbox為父類的panel,panel放在子線程里訪問。可是每當訪問到panel->handle參數時,線程不是卡死就是報錯“A call to an OS function failed”。查了好久也沒找到原因。因為項目代碼相對復雜,后來想直接建一個空項目,按此添加組件,訪問時則可正常。對問題的出現茫無端緒。后來在調試的過程中發現,當panel創建完后,先調用panel->Handle,則后續在子線程里再訪問就不會出錯了。雖然問題貌似解決了,但依然不懂為什么會出現異常。謹以此作為筆記,以待后鑒。
PS:在訪問參數panel->Handle的調試中有時也會出現報錯“類別已存在. Code: 1410.”