type // defined in MRVType unit
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 occurs when the receiver starts to receive a file.
OnReceiveFileData occurs (multiple times) while receiving file data.
OnReceivedFile occurs when a file has been received.
AData – received content
nGUIDFrom – identifier of the sender which sent the command (TRVCamSender.GUIDFrom)
FileName, FileOffs correspond to the parameters of TRVCamSender.SendFile. TotalFileSize – the size of the original file.
AMediaIndex – index of the sender's media channel.
If you perform time consuming operations inside an event, it makes sense to compare values of SessionKey parameter and SessionKey property, to make sure that a connection was not closed or reopened.
Warning: Do not display modal forms in this event.
OnReceivingFile and OnReceivedFile are called in the context of the main process.
OnReceiveFileData is called in a thread context. Do not update user interface (or make any other operation that requires a context of the main process) in this event.