2011-11-29 51 views
1

我怎樣才能在印TIDTCPServer發送記錄(10.5.8版)發送記錄使用INDY

對於以前的版本很多例子告訴我們

AThread.connection.WriteBuffer(MyRec,SizeOf(MyRec),true); // myrec is a record 

但究竟是在印第安納波利斯10.5平等命令。 8

IdContext.Connection.IOHandler.????? 

回答

3

使用RawToBytes功能到緩衝器轉換爲TIdBytes(其是接受Write方法的類型)

檢查此示例。

uses 
    IdGlobal; 

var 
Buffer : TIdBytes; 
Myrec : TMyrec; 
begin 
    Buffer := RawToBytes(Myrec, SizeOf(TMyrec)); 
    AContext.Connection.IOHandler.Write(Buffer); 
end; 
+1

另一種方法是記錄寫入一個'TMemoryStream',或使用印的'TIdMemBufferStream',然後將它傳遞到'TIdIOHandler.Write(T流)'方法。 –

+1

我的意思是'TIdMemoryBufferStream'。 –

+0

它會支持動態大小 – VibeeshanRC

相關問題