Показать сообщение отдельно
  #7  
Старый 27.03.2014, 02:59
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от angvelem
Да 0 требуется, из-за этого и буфер.
Так в AnsiString он и так есть. Зачем куда-то копировать? Моя строчка должна работать вместо твоих трех.

Добавлено позже: кстати, у Borland:
Код:
function TBaseSocket.SendBuf(var Buf; BufSize: Integer; Flags: Integer): Integer;
begin
  DoSend(pchar(@Buf), BufSize);
  Result := ErrorCheck(Send(FSocket, Buf, BufSize, Flags));
  if Result <> SOCKET_ERROR then
    inc(FBytesSent, Result);
end;

function TBaseSocket.Sendln(s: string; const eol: string): Integer;
begin
  s := s + eol;
  Result := SendBuf(pchar(s)^, length(s), 0);
end;
То есть 0 не отправляется. Плохой код ты нашел.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием