Sunday, April 3, 2011

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.

From stackoverflow
  • 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.

    mjustin : Yes I agree it actually looks not so hard to port. Maybe I could use the GetUIObjectOf method of IShellFolder, see my Delphi code example link, without implementing IDataObject.

0 comments:

Post a Comment