Project & Archive Informations

 
 

about DragNDrop.zip and DragNDrop(2).zip

 

 

 

  Restrictions On Using This Archive
 
  This archive and its contents is copyright 1998,99 by Dieter Steinwedel. ALL RIGHTS ARE RESERVED BY DIETER STEINWEDEL. You are allowed to use it freely subject to the following restrictions:
  • You are not allowed to delete or alter the author's name and copyright in any manner
  • You are not allowed to publish a copy, modified version or compilation neither for payment in any kind nor freely if the author has not agreed
  • You are allowed to create a link to the download or homepage in the WWW

These restrictions and terms apply to you as long as you use this archive. I won't change these conditions when I have published the archive. But I reserve the right to alter these conditions for a newer archive version. The archive version is the archive's date. Changes can found on my homepage.

   
  Disclaimer For This Archive
 
  The author disclaims all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The author assumes no liability for damages, direct or consequential, which may result from the use of this component/unit.
   
  Remark For This Archive
 
  The help files for the archive DragNDrop.zip and DragNDrop(D2).zip are the same. It may be, that the description in this file doesn't work with both versions, but I've tried to care about all differences.

The help files for the featured classes/components contain only new introduced properties, methods, events, constants etc.

   
  Archive Update Informations
 
  19-Dec-1999
 
  • Changes in TDragDrop (drop-handler, context-menu)
  • Changes in TDragDropFilesEx (shell extensions)
  • A small bug fixed in PIDL.PAS
  13-Nov-1999
 
  • Changes in TDragDrop and TDragDropFilesEx
  • "ListSort.dcr" and "ListSort.pas" won't be shipped any longer with this archive
  • The components will be now registered in the group "Shell32"
  23-Aug-1999
 
  • Re-designed help files
  before 23-Aug-1999
 
  • this section didn't exist before this date
   
  Check the featured components/classes for more details.
   
  Author & Credits
 
  This archive and components are created by Dieter Steinwedel. If you like it and want to reward the work, you can e.g. give a small donation, but it is definitly NO obligation in any way.

A special thank to Ingo Eckel. He has given me many suggestions to improve my components.

   
  Requirements
 
 
  • Windows 95/NT4 or higher
  • Delphi 2 or 4

The requirements won't be tested for every new version.

   
  Install
 
  Install the components as common you install components. The components will appear in the group "shell32". Modify it, if you want.

It may be, that the popup-menu of the components doesn't support the same language which your Windows version does. You can do following to fix this: Modify the method SetCaptionOfMenuItems in the unit DragDrop.pas for your language. It is really simple to modify, you will see. It is welcomed, if you mail me the modified version. But before you do that, check on MY HOMEPAGE, if the language is already supported. Please send me only that, you have add/modified, not the whole code - I already have it :).

I support following languages:

German, French*, Italian*, Polish*, Portuguese*, Spanish* and English

* = I don't speak this language, but hope, that translation is correct.

If your language is not supported, the language is automatically set to English.

The components are designed for easy use. For more infomation consult the Delphi online-help. In the most cases (okay, delete the "on" at "onXXXXXX", etc.) you will get help.

In my help-files are only the new introduced properties, methods etc. of the component listed. You find detailed infomation about the inherited properties etc. in the documentation of TDragDrop.

I have heard, that Borland C++ user even can use this unit. The automatic created headers may have some bugs. After you have solved this problem, you should use it without problems!

For Borland C++ Builder 1.00 users only:
For some reasons the C++Builder generates the methods in the headerfile for the component with Ole2::IDataObject. The event methods are generated on the other hand without the Ole2::specifier, which leads to an ambigius IDataObject Ole2::IDataObject Error during compilation.You can solve this by defining IDataObject as Ole2::IDataObject with #define IDataObject Ole2::IDataObject and replace all Ole2::IDataObject with IDataObject in all generated headerfiles. This fools the compiler, because the header is loaded first and everything is all right.

After these changes were done, it's recommended to change the file attributes of the headerfile to "read-only", because the headerfile will be created on every compilation and the change will be discarded.

Remark: This detailed description was mailed by an C++Builder user. I (Dieter Steinwedel) can't give you more detailed information, because I haven't experiences in programing with C++. Therefore, I'm not able to relpy your question.

For DragNDrop(D2).zip users only:
The first versions of the units were written with Delphi2. Later I have ported them to Delphi4. Now, I primary develop with Delphi4.

Newer versions of Delphi may have problems to install the units of the archive DragNDrop(D2).zip. Usually you have to search the unit "OLE2" on your Delphi CD and copy it in the same path, were this unit is located. Then, it should works!

   
  Files In This Archive
 
  Name Description
  demo.zip contains a demo project in source code to show you the features of the components
DragDrop.dcr ressource file
DragDrop.pas Delphi unit; contains many basic classes like TDragDrop
DragDropBitmap.dcr ressource file
DragDropBitmap.pas Delphi unit; contains the implementation of TDragDropBitmap
DragDropFiles.dcr ressource file
DragDropFiles.pas Delphi unit; contains the implementation of TDragDropFiles
DragDropFilesEx.dcr ressource file
DragDropFilesEx.pas Delphi unit; contains the implementation of TDragDropFilesEx
DragDropText.dcr ressource file
DragDropText.pas Delphi unit; contains the implementation of TDragDropText
DragDropUrl.dcr ressource file
DragDropUrl.pas Delphi unit; contains the implementation of TDragDropUrl
GridFixDemo.zip contains a demo that shows you, how to make a grid, based on TCustomGrid, compatible with my drag&drop controls.
PIDL.pas Delphi unit
Index.htm help-file; contains the project & archive informations (this document)
MyShlObj.pas Delphi unit; only in the Delphi2 archive
RegStr.pas Delphi unit; only in the Delphi2 archive
TDragDrop.htm help-file for TDragDrop
TDragDrop.gif picture-file
TDragDropBitmap.htm help-file for TDragDropBitmap
TDragDropBitmap.gif picture-file
TDragDropFiles.htm help-file for TDragDropFiles
TDragDropFiles.gif picture-file
TDragDropFilesEx.htm help-file for TDragDropFilesEx
TDragDropFilesEx.gif picture-file
TDragDropText.htm help-file for TDragDropText
TDragDropText.gif picture-file
TDragDropUrl.htm help-file for TDragDropUrl
TDragDropUrl.gif picture-file
 
  I hope, that this list is actual. If not, please send me an email.
   
  Featured Components (in alphabetic order)
 
  TDragDrop
  TDragDrop is a component for COM/OLE based drag&drop operations. The component is able to make child-classes of TWinControl (e.g. TEdit, TMemo, TListView, etc.) to be the source AND target of drag&drop operations.

More details...

 
  TDragDropBitmap
  TDragDropBitmap is a comfortable and powerful component for COM/OLE based drag&drop operations with bitmaps. The component is a child-class from TDragDrop.

More details...

 
  TDragDropFiles
  TDragDropFiles is a comfortable and powerful component for COM/OLE based drag&drop operations with files. The component is a child-class from TDragDrop.

IMPORTANT: TDragDropFiles doesn't support shortcuts to files like TDragDropFilesEx.

More details...

 
  TDragDropFilesEx
  TDragDropFilesEx is a comfortable and powerful component for COM/OLE based drag&drop operations with files and supports completely the namespace of Windows (PIDL). The component is a child-class from TDragDrop.

More details...

 
  TDragDropText
  TDragDropText is a comfortable and powerful component for COM/OLE based drag&drop operations with plain text. The component is a child-class from TDragDrop.

More details...

 
  TDragDropURL
  TDragDropURL is a comfortable and powerful component for COM/OLE based drag&drop operations with URLs. The component is a child-class from TDragDrop.

More details...

 
  Contact
 
  Please mail me only bugs and fixed. Don't ask for help, I won't answer, because my time is very limited. But before you contact me, check my homepage. I will publish bugs and fixes etc. as soon as I know them. Write a SHORT but UNDERSTANDABLE email in english or german.

Of course, I'm interested in YOUR improvements. I always try to increase the quality of my components/classes. Therefore, mail my your improvements, please. Thanks!

email: dsteinwe@uos.de

homepage: http://www.oec.uni-osnabrueck.de/student_home/
dsteinwe/delphi/DietersDelphiSite.htm

   

© 1998,99 by Dieter Steinwedel

Back to Dieter's Delphi Site