home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 September / Chip_2001-09_cd1.bin / zkuste / delphi / kolekce / d123456 / DFS.ZIP / ItemProp.txt < prev    next >
Text File  |  2001-06-28  |  7KB  |  111 lines

  1. ItemProp Unit v3.54
  2.  
  3. Description:
  4.   A unit to provide access to a file's context menu, properties dialog, and
  5.   default action. Given only a filename, the context menu or properties dialog
  6.   can be displayed, or the default action taken (i.e. Open).  This hides the
  7.   messy parts of using the Shell Namespace API.
  8.  
  9.  
  10. Contact Information:
  11.   The lateset version will always be available on the web at:
  12.     http://www.delphifreestuff.com
  13.   If you have any questions, comments or suggestions, please use the Delphi
  14.   Free Stuff Support Forum at:
  15.     http://www.delphifreestuff.com/discus/
  16.   If, for some reason, you can not use the web-based support forum, you can
  17.   email me at bstowers@delphifreestuff.com.  However, the support forum will
  18.   always take precedence over direct email since it provides a resource that
  19.   others can use when they have a problem.  Every message posted to the forum
  20.   is emailed directly to this account, so emailing me directly will not get
  21.   your message to me any faster.  It will only make the message less important
  22.   for me to respond to since only one person (you) is benefiting from it
  23.   instead of everyone interested.  Having said all that, please do email me
  24.   directly if it is regarding something that isn't really support related,
  25.   i.e. just to say thanks (as novel as that idea is).
  26.  
  27.  
  28. Credits:
  29.   * Many thanks to Matt Ginzton for his help with the multiple item support.  I
  30.     had been having no luck at all with it for a long time and he was kind
  31.     enough to provide me with working C++ code to translate.  Turns out my
  32.     attempts had been right all along, I simply had a parameter declared
  33.     incorrectly.  Still, I probably would have never found it without good,
  34.     working code to start from.
  35.  
  36.  
  37. Known Issues (bugs):
  38.   * The functions which take multiple files in a TStringList parameter will not
  39.     work unless they share a common directory (passed in the Directory param).
  40.     This means that as long as the files exist on the same drive, it will work
  41.     (the root of the common drive is the Directory param).  But, if the files
  42.     are on different drives, it will not work (passing '' in Directory).  I've
  43.     spent several hours trying to make it work, but have had no luck at all. 
  44.  
  45.  
  46. Revision History:
  47. 3.54:  + Uninitialized var parameter was causing some things to fail (like
  48.          property dialogs for drives).
  49.        + Fixed a problem on Win2000 systems.
  50.        + Updated for Delphi 6 compatibility.
  51. 3.53:  + Updated for C++Builder 5 compatibility.
  52. 3.52:  + DisplayPropertiesDialog might not have worked on Windows 2000.  It
  53.          appears that one of the API calls involved isn't working correctly on
  54.          Win2K.  I've implemented a work-around.
  55. 3.51:  + Had some problems with the Application.Hint code throwing range check
  56.          exceptions.  Think I've got it straightened out now.
  57. 3.50:  + Daniel U. Thibault added the ability to set Application.Hint based on
  58.          the selected context menu item's verb (name) and help text.  The verb
  59.          is the short hint, the help text is the long hint.  See the updated
  60.          demo for an example of using this.  Very cool, and many thanks to him
  61.          for sharing.  Argh.  I've just discovered that Praful Kapadia also
  62.          sent me code to do the same thing.  Thanks to him as well.
  63.        + I've added two new boolean parameters to all of the DisplayContextMenu
  64.          functions:  ShowRename and RenameSelected.  ShowRename indicates
  65.          whether the Rename context menu item should be shown on the menu or
  66.          not.  RenameSelected is a var parameter that, upon return from the
  67.          function, indicates whether the user picked the rename function.  The
  68.          Rename menu item is special because the context menu has no idea how
  69.          to show user interface for renaming something, or even how to do it
  70.          (the thing may not be a file, it could be a virtual folder).  So,
  71.          it doesn't even attempt to handle the situation, you must.  Also,
  72.          ShowRename only cause the Rename item to appear on the context menu
  73.          if the item reports that it can be renamed (i.e. 'C:\' can not be
  74.          renamed, so the item wouldn't show up for it regardless of ShowRename's
  75.          value).
  76. 3.12:  + Updated for C++Builder 4 compatibility.
  77. 3.11:  + Under certain circumstances, trying to perform the default action on
  78.          a file that didn't have one could cause access violations.  Fixed.
  79. 3.10:  + Added PeformVerb functions.  Allows you to peform any action that is
  80.          supported by the system.  For example, the properties dialog is
  81.          displayed by performing the verb 'properties'.  Other common verbs are
  82.          'delete', 'cut', 'copy', etc.
  83. 3.00:  + Support for multiple items in all functions.  All items must be in the
  84.          same directory.
  85.          * The "normal" functions (those that take filenames) can now contain
  86.            wildcards.
  87.          * New "list" functions that operate like the "normal" functions, but
  88.            take a Path parameter and a TStringList of items in that directory
  89.            to operate on.
  90.          * The "PIDL" functions now require an extra parameter to indicate the
  91.            number of PIDLs being passed.  Simply pass the first PIDL in your
  92.            array as the PIDL parameter.
  93. 2.21:  + Cut and Copy context menu commands now work properly on all
  94.          installations.  Many thanks to Matt Ginzton <magi@cs.stanford.edu> for
  95.          figuring this out and letting me know the solution (OLEInitialize).
  96. 2.20:  + Rewrite for Delphi 4 compatibility and features (overloaded funcs). 
  97.        + Added support for IContextMenu3.                                    
  98. 2.10:  + Added new versions of all functions that accept PIDLs instead of
  99.          filenames.  If you don't know what a PIDL is, then you don't need
  100.          these functions.  There useful when you are fooling around with the
  101.          Shell Namespace API functions.
  102. 2.00:  + Send To menu now works.  Thanks to Matt Ginzton
  103.          (magi@cs.stanford.edu) for sending me C++ code snippet.
  104. 1.03:  + Some code clean up.
  105.        + Really works with C++Builder now. Thanks again to Michael Trier.
  106. 1.02:  + Small change for C++Builder compatibility.  Thanks to Michael Trier.
  107. 1.01:  + Updated for Delphi 3 compatibility.
  108.        + Now works properly with drives.  Just pass something like C:\, but
  109.          NOT C:
  110. 1.00:  + Initial release
  111.