TIEPortableDevices.CopyStreamFromDevice
Declaration
function CopyStreamFromDevice(const sDeviceID, sObjectID: Widestring; DestStream: TStream; Thumbnail: Boolean = False): Boolean; overload;
function CopyStreamFromDevice(Index: Integer; DestStream: TStream; Thumbnail: Boolean = False): Boolean; overload;
Description
Copy a file of the specified
sObjectID from a device to a stream.
Parameter | Description |
sDeviceID | The ID of the device to copy from (e.g. ActiveDeviceID |
sFileID | The ID of the file to copy (ID cannot point to a folder) |
Index | Index of the current item in the Objects array |
ssDestStream | The stream that will be filled with the file |
Thumbnail | Requests a thumbnail rather than a file (typically returns a 256x256 image). If thumbnail loading fails, or it is not an image file, the full file is returned |
Note: Ensure sObjectID points to a file, not a folder. ssDestStream will be created if it is nil and its position is reset to zero after it is filled.
// Display the selected image in an ImageEnView
Idx := IEPortableDevices.ObjectIDToIndex( lbxObjects.Items[ lbxObjects.ItemIndex ] );
aObject := IEPortableDevices.Objects[ Idx ];
if ( aObject.ObjectType <> iewFolder ) and IsKnownFormat( aObject.Filename ) the
begin
aMemStream := TMemoryStream.create;
try
if IEPortableDevices.CopyStreamFromDevice( SelectedDeviceID, aObject.ID, aMemStream ) then
ImageEnView1.IO.LoadFromStream(aMemStream);
finally
aMemStream.free;
end;
end;
See Also
◼IEGetFileFromDevice