最近、Delphi 7 IDE を Delphi XE5 (大きな変更) に変更しました。小さなクライアント/サーバー アプリケーションで作業していますが、文字列を読み取ろうとすると問題が発生します。
私のコード:
Function TIOHandler.readString(Var data: String): Integer;
Var
byteReceived: Integer;
buff: Array Of Char;
Begin
byteReceived := 0;
Result := 0;
SetLength(buff, 255);
byteReceived := self.readBuffer(buff[0], SizeOf(buff));
If (byteReceived > 0) Then
Begin
SetLength(data, SizeOf(buff));
lstrcpyn(@data[1], @buff[0], SizeOf(buff));
Result := byteReceived;
End
Else If byteReceived = SOCKET_ERROR Then
Result := SOCKET_ERROR;
End;
Function TIOHandler.readBuffer(Var buffer; bufferSize: Integer): Integer;
Begin
Result := recv(self.ioSocket.aSock, buffer, bufferSize, 0);
End;
まれなシンボルが表示されます。文字エンコードの問題のようです。誰が私が間違っているのか教えてもらえますか。
よろしくお願いします。