全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:6279
推到 Plurk!
推到 Facebook!

見鬼的Assertion failed

答題得分者是:taishyang
shiuan0610
一般會員


發表:15
回覆:13
積分:5
註冊:2007-05-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-12-24 11:00:50 IP:61.56.xxx.xxx 訂閱
Assertion failed....
我有兩個程式,加增改程式碼後,compile時會出現這個錯誤:
Assertion failed: Config, file:C:\src\ilink\import.cpp, line 311

然後我的BCB6.0就會死當或強制關閉

其中一個甚至是改變ShowMessage("....");裡面的輸出文字,就會Assertion failed
查了一下似乎也有人遇過這種無解的靈異現像

還有一個是在FormCreate();裡加入下面幾行就出事了
[code cpp]
FILE *ifp;
AnsiString filename="alignment_threshold.txt";
ifp= fopen(filename.c_str(),"r");
fscanf(ifp,"%d",&T);
fclose(ifp);
[/code]

請問有前輩有類似經驗的嗎
shiuan0610
一般會員


發表:15
回覆:13
積分:5
註冊:2007-05-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-12-24 13:06:06 IP:61.56.xxx.xxx 訂閱
剛做一下實驗
發現上面的code中僅這行才會造成錯誤:
AnsiString filename="alignment_threshold.txt";
就算改成
char filename[30]="alignment_threshold.txt";
也是一樣
有人遇過類似問題嗎?
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-12-24 15:05:05 IP:122.124.xxx.xxx 訂閱
假如你的.cpp file很大的話,把它拆成數個.cpp檔看看
http://qc.borland.com/wc/qcmain.aspx?d=793

General solution:
1) CPP files must be as small as possible.
2) outlined inlines must be forbidden

shiuan0610
一般會員


發表:15
回覆:13
積分:5
註冊:2007-05-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-12-24 16:07:39 IP:61.56.xxx.xxx 訂閱
我的.cpp檔不大
一千多行而已
反正它不讓我在主Form的FormCreate()裡宣告並設定char或AnsiString的就是了
最後我用了一招迴避了它的Assertion failed,跟taishang前輩教的方法異曲同工

就是用另一個Form的FormCreate()裡執行我要的讀檔code
BCB6.0真是莫明奇妙>_<
編輯記錄
shiuan0610 重新編輯於 2007-12-24 16:29:46, 註解 無‧
shiuan0610 重新編輯於 2007-12-24 16:30:47, 註解 無‧
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-01-06 01:54:23 IP:61.64.xxx.xxx 訂閱
這 OK 啦
我還發生單步追蹤時,呼叫 function A ,卻進入 function B 的狀況
解決方式:重開機
原因:可能當時 PC 「卡到X」吧

===================引 用 shiuan0610 文 章===================
Assertion failed....
我有兩個程式,加增改程式碼後,compile時會出現這個錯誤:
Assertion failed: Config, file:C:\src\ilink\import.cpp, line 311

然後我的BCB6.0就會死當或強制關閉

其中一個甚至是改變ShowMessage("....");裡面的輸出文字,就會Assertion failed
查了一下似乎也有人遇過這種無解的靈異現像

還有一個是在FormCreate();裡加入下面幾行就出事了
[code cpp]
FILE *ifp;
AnsiString filename="alignment_threshold.txt";
ifp= fopen(filename.c_str(),"r");
fscanf(ifp,"%d",&T);
fclose(ifp);
[/code]

請問有前輩有類似經驗的嗎
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-01-09 15:18:50 IP:59.124.xxx.xxx 訂閱
 是否有用到不同版本Compiler出來的Libraey?
還是你的Project是自舊版本轉換過來的????

上述兩種都會導致你所描述的問題.

如果都不是,哪Rebuilder project group是否試過???
shiuan0610
一般會員


發表:15
回覆:13
積分:5
註冊:2007-05-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-01-18 17:01:40 IP:61.56.xxx.xxx 訂閱
謝謝樓上兩位大大的回應
我重開機,也換過別台電腦....不過版本是一樣的BCB
情況仍一樣
請問Rebuilder project group
是什麼意思呢?
現在我又多遇到一個狀況了
只要多加任何元件就會Assertion failed
加程式碼沒問題
難道是元件太多嗎!?
我用了大概42個元件吧

shiuan0610
一般會員


發表:15
回覆:13
積分:5
註冊:2007-05-08

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-01-23 16:24:27 IP:61.56.xxx.xxx 訂閱
原本程式寫到後來
新增任何元件都會Assertion failed
改code也隨機會遇到Assertion failed
程式幾乎改都改不動了,十分令人傷心
最後也是把約一半的code移至另一個.CPP
甚至把一些timer移到另一個form
然後就沒這個問題了
看來的確是BCB本身的bug...
shiuan0610
一般會員


發表:15
回覆:13
積分:5
註冊:2007-05-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2009-11-24 09:45:31 IP:60.244.xxx.xxx 訂閱
二年多前的這個問題,
最後將BCB6換成2007來寫,
就不會有這種問題了,哈~
系統時間:2024-04-20 7:45:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!