TRVChat.InsertMessage

<< Нажмите, чтобы показать Содержание >>

TRVChat.InsertMessage

Методы вставляют новое сообщение в позицию, заданную параметром AIndex. Это два метода с одинаковой функциональностью, отличающиеся только способом передачи параметров: напрямую или через запись.

function InsertMessage(AIndex: Integer;

  AUser: TRVChatUser

  const AText: TRVUnicodeString;
  ADateTime: TDateTime = 0; 

  Extra: TRVChatMessageExtra = nil;
  AState: TRVChatMessageState = rvcmsDefault): 

  TRVChatMessage
 

function InsertMessage(AIndex: Integer;
  const Data: TRVChatMessageInsertionInfo):

  TRVChatMessage

Эти методы используются редко, поскольку обычно сообщения добавляются с помощью AddMessage.

Возможный сценарий использования: клиент чата получает сообщения в порядке, отличном от порядка их отправки, и хочет расположить их по времени. Для определения порядка сообщений можно использовать, например, поля DateTime и GlobalIndex элементов Messages.

Методы обновляют содержимое ChatRichView и вставляют новый элемент в Messages.

Перед вызовом этих методов ChatRichView должен быть отформатирован. Методы форматируют добавленное сообщение.

Parameters

AUser – ссылка на пользователя, автора сообщения. Это ссылка на один из элементов коллекции Users.

AText – текст сообщения. Если Extra = nil или Extra имеет тип TRVChatMessageExtraQuote, текст не может быть пустым. Текст может состоять из нескольких строк. Чат автоматически распознаёт URL в тексте (см. RVIsURL).

ADateTime – время сообщения. Если значение равно 0, используется текущее время.

Extra – дополнительные данные, прикреплённые к сообщению: файлы, изображение или цитата. Это может быть объект одного из следующих классов:

TRVChatMessageExtraFiles для прикрепления файлов;

TRVChatMessageExtraImage для прикрепления изображения;

TRVChatMessageExtraQuote для добавления цитаты;

nil – без дополнительных данных.

Если Extra.AutoDestroy = True, метод освобождает Extra, если сообщение было успешно добавлено.

AState – состояние сообщения.

Возвращаемое значение:

Ссылка на вставленное сообщение в случае успеха; nil в противном случае.