anchor.diff:      inc(lvPtr);
       if r = 1 then
       begin
  +{$IFDEF StartEndCut}
         // ȥͷβ
         OnDataAction(@FCacheBuffer.FRawBytes[lvStartDataLen], FCacheBuffer.FRawLength - lvStartDataLen - lvEndDataLen);
  +{$ELSE}
  +      OnDataAction(@FCacheBuffer.FRawBytes[0], FCacheBuffer.FRawLength );
  +{$ENDIF}
         ResetPacakge(@FCacheBuffer);
       end;
   
  
positive.code:   lvSendBuffer:array of byte;  
  begin
    lvOwner := TDiocpExTcpServer(Owner);
    lvStartData := @lvOwner.FStartData[0];
    lvStartDataLen := lvOwner.FStartDataLen;
    lvEndData := @lvOwner.FEndData[0];
    lvEndDataLen := lvOwner.FEndDataLen;
  
    j := lvStartDataLen + pvDataLen + lvEndDataLen;
    SetLength(lvSendBuffer, j);
    if lvStartDataLen > 0 then
    begin
  
negative.code: 
  procedure TDiocpStringContext.WriteAnsiString(pvData:AnsiString);
  begin
    WriteData(PAnsiChar(pvData), Length(pvData));
  end;
  
  end.
  