線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4314
推到 Plurk!
推到 Facebook!

~TForm時會出現 Invalid pointer operation的問題

答題得分者是:herbert2
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-08-06 16:45:58 IP:203.75.xxx.xxx 未訂閱
我的專案在新增一定vcl元件數量到form1。(目前是128,129時就出現問題了)
之後在form1關閉時一定會出現
Invalid pointer operation
出錯的地方也永遠是在~TForm()這邊

不知道是不是BCB的限制

現在我只能用動態new的方式來產生vcl元件,但在控制上很麻煩,不知道上述的問題有沒有解決的方法
編輯記錄
GrandRURU 重新編輯於 2009-08-06 16:47:54, 註解 無‧
taishyang
站務副站長


發表:377
回覆:5485
積分:4552
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-08-06 16:59:11 IP:118.169.xxx.xxx 訂閱
我開新專案,在Form上放138個button,沒有你說的現象耶^^

GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-08-06 17:09:32 IP:203.75.xxx.xxx 未訂閱
看來不是量的問題
但現在的情況仍然不變,我任意增加一個元件
其它程式碼都沒增加
程式可以執行,但關閉一定會出現上述的錯誤

真是快瘋了 > <
taishyang
站務副站長


發表:377
回覆:5485
積分:4552
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-08-06 17:15:56 IP:118.169.xxx.xxx 訂閱
啟動CodeGuard檢查看看吧,也許是記憶體釋放的問題造成
或是上傳專案請前輩們看看囉 ^^
編輯記錄
taishyang 重新編輯於 2009-08-06 17:16:33, 註解 無‧
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-08-06 22:47:30 IP:211.72.xxx.xxx 訂閱
小弟猜一下! 不一定對, 但或能激發您找問題的方向!
可能您有用到諸如 TPageControl 的 DrawTab 的 Event,
該 Event 用到諸如 TStrings 的東東, FormClose() 或 FormDestroy() 時又 delete 該 Component,
便可能造成此問題!

即 FromcClose() 時所要 delete 的 Component 仍被部分尚會作用的 Event 引用.
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-08-07 01:53:13 IP:118.167.xxx.xxx 未訂閱
謝謝taishyang及herbert2大的回覆

其實我也蠻想把專案丟上來請諸位先輩來看看,但這麼做的話我可能會沒頭路先,哈!

我看FormClos後面是有做一些旗標的處理,應該是對動態產生的執行緒(有4支)做後續的關閉動作

再來就是用CodeGuard來做檢查,但我從來沒用到過這工具…要慢慢學……

但想不透的是現在的專案是再加上了任一vcl元件(加在main上)後,在執行檔關閉才會產生錯誤,這種情況也是因為「 delete 的 Component 仍被部分尚會作用的 Event 引用.」?
總覺得不太可能,但FormClose事件的確得好好地給它查一下……

我再試下,有情況會再上來匯報,先謝謝二位大大了。
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-08-10 09:24:33 IP:203.75.xxx.xxx 未訂閱
CodeGuard有補捉到錯誤
但出錯的地方並非是程式碼的問題

那請問這有可能是什麼問題呢?
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2009-08-14 08:13:38 IP:203.75.xxx.xxx 未訂閱
實在是很想找出出問題的地方
無奈專案時間緊迫,沒辦法深入探索

目前我是採用動態建立vcl物件的方式來解決現在的窘境,這樣不知為何可以避開Main form在close時產生上述的怪異現像。
雖然麻煩了點……

謝謝二位大大的幫忙

P.S: 副站大,您的分數太多了,留點分給後進唄,呵呵
taishyang
站務副站長


發表:377
回覆:5485
積分:4552
註冊:2002-10-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-08-14 10:01:48 IP:122.116.xxx.xxx 訂閱
呵,別在意,我只是幫忙管理KTOP ^_^

===================引 用 GrandRURU 文 章===================
P.S: 副站大,您的分數太多了,留點分給後進唄,呵呵
系統時間:2017-10-20 9:38:40
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!