函式怎認不得IdTCPClient1 ? |
答題得分者是:taishyang
|
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
請教大大,在Button1Click元件內可以認得IdTCPClient1
void __fastcall TForm1::Button1Click(TObject *Sender) { IdTCPClient1->Host=SERVER_IP; IdTCPClient1->Port=SERVER_PORT; IdTCPClient1->Connect(); } 如果把內容移到一個函式內就會認不得這個IdTCPClient1 如下 void back() { IdTCPClient1->Host=SERVER_IP; IdTCPClient1->Port=SERVER_PORT; IdTCPClient1->Connect(); } 會有[C Error] Unit1.cpp(118): E2451 Undefined symbol 'IdTCPClient1' 知道這是什麼原因呢? 請指教 謝謝 |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
|
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
假設您原本的程式沒有問題的話 .h class TForm1 : public TForm { __published: // IDE-managed Components TIdTCPClient *IdTCPClient1; TButton *Button1; void __fastcall Button1Click(TObject *Sender); private: // User declarations public: // User declarations void __fastcall back(); __fastcall TForm1(TComponent* Owner); }; .cpp void __fastcall TForm1::Button1Click(TObject *Sender) { Form1->back(); //或back(),兩者都可以 //back(); } //--------------------------------------------------------------------------- void __fastcall TForm1::back() { IdTCPClient1->Host=SERVER_IP; IdTCPClient1->Port=SERVER_PORT; IdTCPClient1->Connect(); } |
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
|
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
修改的地方如下所示 .h檔 class TForm1 : public TForm { __published: // IDE-managed Components TIdTCPServer *IdTCPServer1; TIdTCPClient *IdTCPClient1; TButton *Button1; TButton *Button2; void __fastcall IdTCPServer1Execute(TIdPeerThread *AThread); void __fastcall Button1Click(TObject *Sender); void __fastcall IdTCPClient1Disconnected(TObject *Sender); void __fastcall IdTCPClient1Connected(TObject *Sender); void __fastcall FormDestroy(TObject *Sender); void __fastcall Button2Click(TObject *Sender); private: // User declarations public: // User declarations void __fastcall back(LPWAVEHDR); __fastcall TForm1(TComponent* Owner); }; .cpp static void CALLBACK ProcessTran(HWND hwnd,UINT message,DWORD dwins,LPWAVEHDR wparam, DWORD lparam) { switch(message) { case MM_WIM_DATA: waveInUnprepareHeader(hwi, wparam, sizeof(WAVEHDR)); wparam->dwBufferLength = CLIENT_BYTES_PER_DATA_BLOCK;//dwBytesRecorded; wparam->dwFlags &= ~MHDR_DONE; Form1->back(wparam); //back(wparam); waveInPrepareHeader(hwi, wparam, sizeof(WAVEHDR)); waveInAddBuffer(hwi, wparam, sizeof(WAVEHDR)); break; default:break; } } void __fastcall TForm1::Button1Click(TObject *Sender) { int i; waveInOpen(&hwi,WAVE_MAPPER,&clnt_wfex,(DWORD)ProcessTran,NULL,CALLBACK_FUNCTION); for(i=0; i看看是不是有不一樣的地方 |
ksmf
一般會員 發表:7 回覆:11 積分:3 註冊:2005-07-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |