|
<< Нажмите, чтобы показать Содержание >> 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 вызывается в контексте потока. Не обновляйте пользовательский интерфейс (и не выполняйте никаких других операций, требующих контекста основного процесса) в этом событии.