delphioleidataobject

How can I create a IDataObject instance with Delphi?


This C++ code shows how OLE can be used to simulate a file drag and drop to simulate a 'Send to...' operation. This will open the standard mail client with the selected file(s) as an attachment, a very interesting alternative to the mailto: protocol handler.

Which is the best (short and safe) way to create the neccessary instance of IDataObject in Delphi?

I have found some code here but maybe there is a better solution.


Solution

  • Porting the C++ code to Delphi probably isn't too difficult. Start with

    type
      TDataObject = class(TInterfacedObject, IDataObject)
    

    and implement the required methods as shown in the C++ example.