[bcb]這個錯誤訊息要怎麼解決呢 麻煩一下 |
答題得分者是:richtop
|
ii
一般會員 發表:1 回覆:1 積分:0 註冊:2004-11-07 發送簡訊給我 |
有一個範例程式 本來在我的電腦上可以執行 後來突然不能用了,重開機以後還是不行,這個程式我copy去別的電腦上跑還是沒問題的
程式執行後 當我在開啟圖片(loadfromfile)時 就會出現以下的錯誤訊息
---------------------------------------------------------------------
Project DEMO.exe raised exception class Eaccess violation
with message"access violation at address 00401D46 in module 'DEMO.exe'.
'read of address B3B3B976'. Proccess stopped.
Use Step or Run to coutiune
---------------------------------------------------------------------
錯誤發生後指標會停留在
jpgImg->LoadFromFile(opdLoadImage->FileName); ---------------------------------------------------------------------
程式的內容
void __fastcall TFrmMain::miLoadFileClick(TObject *Sender)
{
int i,j;
int Flag;
TJPEGImage *jpgImg=new TJPEGImage; char c1[10];
opdLoadImage->Filter = "Image file(*.jpg,*.bmp) |*.JPG; *.JPEG; *.BMP";
opdLoadImage->Execute();
imgOriginal->Visible=true;
imgShow->Visible=false;
imgEdge->Visible=false; Flag=j=0;
for(i=1;i<=opdLoadImage->FileName.Length();i )
{
if(Flag==1)
c1[j ]=opdLoadImage->FileName[i]; if(opdLoadImage->FileName[i]=='.')
Flag=1;
}
c1[j]='\0'; if(strcmp(c1,"bmp")==0)
{
imgOriginal->Picture->LoadFromFile(opdLoadImage->FileName);
}
else
{
jpgImg->LoadFromFile(opdLoadImage->FileName);
imgOriginal->Picture->Bitmap->Assign(jpgImg);
imgOriginal->Refresh(); }
.
.
.
----------------------------------------------------------------
麻煩一下 ^^
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
ii 您好: 有一個地方怪怪的:
if(strcmp(c1,"bmp")==0)
c1存的是圖檔的附檔名,但是有可能附檔名是大寫,所以就會有將.bmp當成.jpg讀入的現象。 另外有幾個建議,供您參考:
1.可利用 ExtractFileExt(filename) 函式取出附檔名,節省您的時間。
2.圖檔一律透過Image讀入,再將其轉為Bitmap格式。
void JpgToBmp(TImage *image) { Graphics::TBitmap *bmp = new Graphics::TBitmap(); bmp->Width = image->Picture->Width; bmp->Height = image->Picture->Height; bmp->Canvas->Draw(0,0,image->Picture->Graphic); image->Picture->Bitmap->Assign(bmp); image->Refresh(); delete bmp; }RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====##### |
ii
一般會員 發表:1 回覆:1 積分:0 註冊:2004-11-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |