當前位置:編程學習大全網 - 網站源碼 - Recv源代碼

Recv源代碼

因為妳沒有說清楚妳根本沒有收到數據,或者說妳的接收程序沒有正常執行,所以我不得不建議妳從以下幾個方面來看:

1,串口波特率,校驗位等參數都是按照通信規定設置的;

2.確保串口控件已經打開,可以正常工作,在TfrmComm內部設置斷點。CommReceiveData()來查看事件是否被觸發以及觸發時的BufferLength是多少。

3.請糾正妳對語法理解上的壹個簡單錯誤:put move (buffer,pchar (strrecv),buffer length);

用…替換

str recv:=“”;

for I:= 0 to Buffer length-1 do strRecv:= strRecv+PChar(Buffer)[I];

Pchar(strRecv)表示臨時生成的指針,strRecv的數據被臨時復制到指針所指向的緩沖區中。臨時指針只是用來傳遞要移動的參數,如果返回函數就無效了。

而且,如果是我,我不會把strRecv定義成string,而是byte的數組;;或者char的數組,然後像往常壹樣使用SetLength分配內存,但是上面的循環會高效得多,思路也清晰得多。當然,如果要將這個緩沖區傳遞出去使用,就必須伴隨另壹個整數來表示長度。

當然,如果妳像我壹樣定義的話,妳得在這裏加壹個相應的語句來釋放內存。

  • 上一篇:全民飛機大戰新版活躍度獲得方法
  • 下一篇:Mesjava源代碼
  • copyright 2024編程學習大全網