Canvas does not allow drawing 錯誤訊息 的解決方法 |
尚未結案
|
s0mnus
一般會員 發表:1 回覆:1 積分:0 註冊:2004-10-25 發送簡訊給我 |
我們在寫一個檔案傳輸的程式
而我們使用的是NMStrm 作傳輸的動作
我們看過之前有關Canvas does not allow drawing錯誤訊息的文章
但是還是不清楚解決的方法 我們發現當我們在 下載按鈕中的
ClientSocket->Socket->SendText("D"+Dfilename)
這程式碼之前使用 Breakpoints時,以手動的方式讓他一行一行執行
檔案將會成功下載,也不會出現 Canvas does not allow drawing 這個錯誤
但是在這一行前後加上 Sleep ,讓他暫緩執行速度還是會出現錯誤
不知道有沒有什麼方法,可以解決這樣的問題 以下是我們簡短的程式碼:
//下載按鈕
void __fastcall TForm1::DLbuttonClick(TObject *Sender)
{
int i ;
for(i = 0; i<=ListBox->Items->Count-1; i++)
{
if(ListBox->Selected[i])
{
Dfilename = ListBox->Items->Strings[i];
break;
}
}
ClientSocket->Socket->SendText("D"+Dfilename);
} //Client端接收檔案
void __fastcall TForm1::NMStrmServ_DMSG(TComponent *Sender,
const AnsiString sFrom, TStream *strm)
{
if (FileExists(localDir+Dfilename))
DeleteFile(localDir+Dfilename);
TFileStream *MyFStream;
ShowMessage("D");
MyFStream = new TFileStream(localDir+Dfilename, fmCreate);
try
{
MyFStream->CopyFrom(strm, strm->Size);
}
catch(...)
{
}
MyFStream->Free();
FileListBox->Update();
} void __fastcall TForm1::ServerSocketClientRead(TObject *Sender,
TCustomWinSocket *Socket)
{
//取得Client端所傳送的 filename
getFileName_C = Socket->ReceiveText();
//-------解析收到的資料以做出回應--------
if(getFileName_C.SubString(1,1)=="D") //The request of client apply for file
{
int i;
NMStrmServ->Disconnect();
getFileName_C.Delete(1,1);
for(i = 0; i<= FileListBoxS->Items->Count-1; i++)
{
FileListBoxS->Selected[i] = true;
if(getFileName_C == ExtractFileName(FileListBoxS->FileName))
{
TFileStream *MyFStream;
MyFStream = new TFileStream(FileListBoxS->FileName, fmOpenRead);
try
{
NMStrm_D->Host = Socket->RemoteAddress;
NMStrm_D->PostIt(MyFStream);
}
catch(...)
{
}
MyFStream->Free();
FileListBoxS->Selected[i] = false;
break;
}
FileListBoxS->Selected[i] = false;
}
}
}
|
s0mnus
一般會員 發表:1 回覆:1 積分:0 註冊:2004-10-25 發送簡訊給我 |
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |