|
<< Нажмите, чтобы показать Содержание >> 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: TRVSessionKey; const 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, чтобы убедиться, что соединение не было закрыто или повторно открыто.