自己寫的一個工程,以前都能編譯過的。現在突然不能編過了也不能修改了!專家包搜索匹配時也會報錯。具體錯誤為“Access violation at address 00C90CAB in module 'COMP32P.DLL'.Read of address 00000000”,求大俠幫忙指教。
uj5u.com熱心網友回復:
重啟下c++ builder 估計就又行了
uj5u.com熱心網友回復:
不行啊,重啟電腦、重裝BCB都不行。編譯其他的工程都沒事,而且此工程在同事電腦也能編譯過。但是在我的電腦上不行,控制元件的Option也無法輸入漢字,只能輸入字母。QQ輸入法還會打出來火星文!uj5u.com熱心網友回復:
編譯不成功??不帶包,use rtl取掉 完整編譯試試,這種情況要多試試環境,代碼應該不會有問題吧uj5u.com熱心網友回復:
嗯,估計是由于機器環境有變更,可能近期洗掉或者安裝了什么軟體導致的。反正你同事那里有可以運行的版本,你可以放心折騰,各種配置修改了再編譯看看。
uj5u.com熱心網友回復:
重啟計算機后報這種錯:[C++ Fatal Error] F1008 Out of memory
uj5u.com熱心網友回復:
選擇工程目錄的預覽也出現了問題,不能識別。
uj5u.com熱心網友回復:
我也遇到過摟主的問題,當時是因為多執行緒下控制元件屬性修改沒有做同步保護導致.希望能幫上忙
uj5u.com熱心網友回復:
是如何解決的呢?迄今為止,我的問題為何還是依舊!!
uj5u.com熱心網友回復:
就是用Synchronize保護呀.比如下面的例子while(!Terminated)
{
Synchronize(MultiChannel);
}
void __fastcall ReceiveThread::MultiChannel()
{
.......
Form1->Label4->Caption = Form1->Label4->Caption.ToInt() + 1;
}
多個執行緒如果都呼叫Form1->Label4->Caption = Form1->Label4->Caption.ToInt() + 1;這句,由于時間上的細微不同,執行緒A在復制的同時(執行緒A還沒操作結束),執行緒B取出來并復制,就有問題了
uj5u.com熱心網友回復:
碰到這種問題,我一般都是重啟BCB后,就好了.uj5u.com熱心網友回復:
這個與你自己寫的代碼沒有太大的關系,同時是編譯環境的問題,一般重啟軟體或者改變一下編譯方式就可以了,實在不行,那估計是安裝bcb時有問題,重裝一下應該就好了。uj5u.com熱心網友回復:
有沒有裝其他版本的XE ? PATH 路徑看看轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/133544.html
標籤:VCL組件使用和開發
上一篇:matlab怎樣處理資料
