請教Indy如何傳送及接收 自訂packed record的值 |
答題得分者是:Mickey
|
edwardweng
一般會員 發表:29 回覆:5 積分:6 註冊:2003-04-16 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
edwardweng 你好: String 會傳該字串的位址(4 bytes), Packed Record 這樣宣告才會真的傳值, 參考看看:
type TCRC = packed record T1: array[0..255] of char; T2: Integer; end; procedure TForm1.Button1Click(Sender: TObject); var CRC : TCRC; begin CRC.T1 := 'ABCDE'; CRC.T2 := 12345; IdUDPClient1.SendBuffer(CRC, Sizeof(TCRC)); end; procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); var CRC : TCRC; begin AData.Read(CRC, Sizeof(TCRC)); showmessage('Receivee T1=' CRC.T1 ',T2=' inttostr(CRC.T2)); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |