Indy 10 IdUDPClient1.SendBuffer |
答題得分者是:jow
|
apple12
一般會員 發表:28 回覆:23 積分:10 註冊:2003-05-10 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
在D7所附的Indy(嗯, 還真沒check過, 是啥版本..^_^?), 你的寫法是OK的,
[code delphi] procedure TForm1.Button1Click(Sender: TObject); var X: Array[0..3] of Byte; begin IdUDPClient1.SendBuffer(X, 4); IdUDPClient1.SendBuffer(X, SizeOf(X)); end; [/code] 所以你要去查看一下, TIdUDPClient.SendBuffer()函式的定義是不是改了, ^_^. 這是D7的... procedure SendBuffer(var ABuffer; const AByteCount: integer); overload; ===================引 用 apple12 文 章=================== 我用Indy 10 如果用以下 var x: Array[0..3] of Byte; IdUDPClient1.SendBuffer(x, 4); 會有 There is no overloaded version of 'SendBuffer' that can be called with these arguments ---->意指使用參數型態不符. 如果要Boardcast message 'ABC' 要如何做? IdUDPClient1.Send('ABC');
編輯記錄
jow 重新編輯於 2007-11-07 15:08:33, 註解 無‧
|
apple12
一般會員 發表:28 回覆:23 積分:10 註冊:2003-05-10 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
因為手邊沒有Indy10, 所以上網爬文...
TIdBytes = TBytes TBytes = array of Byte; 所以你的問題在於, 不同資料型別相互間的轉換....^_^ [code delphi] procedure TForm1.Button1Click(Sender: TObject); type //NOTE: 自定資料型態(測試用) TBytes = array of Byte; TIdBytes = TBytes; //NOTE: 自定資料型態(測試用) var S: string; B: TIdBytes; begin S := 'ABC'; SetLength(B, Length(S));//動態配置記憶體 try //將字串 S 的內容 move 到 B 中. Move(PChar(S)^, Pointer(B)^, Length(B)); //以下請自行 coding.. IdUDPClient1.Send(B); IdUDPClient1.SendBuffer(B, Length(B)); finally B := nil; end; end; [/code] ===================引 用 apple12 文 章=================== 參數型態應已改為TByte<<---是TBytes 怎樣定義,如果想用UDP傳'ABC',應怎樣做? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |