AsyncTransferSource This application demonstrates how to transfer data asyncronously via a stream. The application uses a TDropEmptySource component and extends it with a TDataFormatAdapter component. While the drag/drop operation takes place in the main thread as always, the actual data transfer is performed in a separate thread. The advantage of using a thread is that the source application isn't blocked while the target application processes the drop. Note that this approach is normally only used when transferring large amounts of data (e.g. file contents) or when the drop target is very slow.