TRVCamReceiver.OnGetAllGroups

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

TRVCamReceiver.OnGetAllGroups

Происходит в ответ на TRVCamSender.GetAllGroups

property OnGetAllGroups: TRVCmdEvent;

Это событие вызывается, когда пара TRVCamSender и TRVCamReceiver (внутри одного приложения) соединена с TRVMediaServer по сети в качестве клиента.

Эта команда поддерживается только если rvcpUseSystemCmd и rvcpCmdAllGroups включены в TRVMediaServer.CmdOptions.

TRVCamSender.GetAllGroups запрашивает список групп на сервере. Сервер отправляет эту информацию получателю, и вызывается событие OnGetAllGroups.

Список всех групп содержится в параметре ACmd.

Эта команда имеет следующие параметры:

'GUIDCount' (целое число) – количество групп;

'GUIDGroup1', 'GUIDGroup2', ... (строка) – идентификаторы групп (от 1 до значения 'GUIDCount').

Пример

procedure TfrmMain.RVCamReceiver1GetAllGroups(Sender: TRVCamReceiver;
  SessionKey: TRVSessionKeyconst GUIDGroup,

  GUIDUser: TRVMAnsiString; ACmd: TRVCmd);
var
  i, Count : Integer;
  GUIDGroup   : TRVMAnsiString;
begin
  Count := ACmd.ParamByName('GUIDCount').AsInteger;
  for i := 1 to Count do
  begin
    GUIDGroup   :=
      ACmd.ParamByName(TRVMAnsiString('GUIDGroup'+IntToStr(i))).AsString;

    RVCamSender1.GetGroupInfo(GUIDGroup);
    ...
  end;
end;

Если вы выполняете длительные операции внутри события, имеет смысл сравнить значения параметра SessionKey и свойства SessionKey, чтобы убедиться, что соединение не было закрыто или повторно открыто.

Внимание: Не показывайте модальные формы в этом событии.