TReceiveErrorEvent = procedure (ASender: TObject; AMsg: String; AException: Exception; var VReply: String; var VDropConnection: Boolean) of object;