TRVCamReceiver.OnReceiveFileData

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

TRVCamReceiver.OnReceiveFileData

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

type 

  // определено в модуле MRVType/fmxMRVType
  TRVFileReadEvent = procedure(Sender: TObject;

    SessionKey: TRVSessionKey
    FileName: String; FileOffs, TotalFileSize: Int64; 
    AData: TStream; ASocket: TRVSocket
    GUIDFrom, GUIDTo, GUIDGroup: TGUID; AMediaIndex : Word) of object;

  TRVFileEvent = procedure(Sender: TObject; SessionKey : TRVSessionKey; 
    FileName: String; TotalFileSize: Int64; ASocket: TRVSocket
    GUIDFrom, GUIDTo, GUIDGroup: TGUID) of object;

 

property OnReceiveFileData: TRVFileReadEvent;

property OnReceivingFile: TRVFileEvent;
property OnReceivedFile: TRVFileEvent;

OnReceivingFile происходит, когда получатель начинает принимать файл.

OnReceiveFileData происходит (несколько раз) во время приёма данных файла.

OnReceivedFile происходит, когда файл получен.

Параметры:

AData – полученное содержимое файла

nGUIDFrom – идентификатор отправителя, отправившего файл (TRVCamSender.GUIDFrom)

nGUIDGroup – идентификатор группы на сервере, если этот файл был отправлен ​​группе.

FileName, FileOffs соответствуют параметрам TRVCamSender.SendFile. TotalFileSize – размер исходного файла.

AMediaIndex – номер медиаканала отправителя.

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

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

События OnReceivingFile и OnReceivedFile вызываются в контексте основного процесса.

Событие OnReceiveFileData вызывается в контексте потока. Не обновляйте пользовательский интерфейс (и не выполняйте никаких других операций, требующих контекста основного процесса) в этом событии.