Desaware Home
Products    Purchase    Publishing    Articles   Support    Company    Contact    
Support
Product FAQ
Licensing System
CC Factory
Event Log Toolkit
Gallimaufry
IniFile Tool-5M
LineGraph-5M
NT Service Toolkit
OneTime Download
SpyWorks
StateCoder
StorageTools
VBX Legacy
VersionStamper
Downloads
Documentation
Professional Services

 

bluebar
Contact Desaware and order today

bluebar
Sign up for Desaware's Newsletter for the latest news and tech tips.

StorageTools Support

Frequently Asked Questions

  1. What is new in StorageTools 2.5?
  2. When I view the Summary Information functions with Windows Explorer I have trouble viewing some characters or some DocumentSummaryInformation properties.
  3. Which flags are valid in the Create and Open statements?
  4. When I compile my project containing StorageTools in Visual Basic 5 to native code, the program crashes when it is run. This does not happen when the program is run in the environment or if the program is compiled to P-Code.
  5. Does StorageTools 1.0 work in VB 5.0?
  6. When I try to create a storage or stream with a 32 character name, it does not work.
  7. Why do I get a conflict with the EOF property when using StorageTools dll component in C/C++?
  8. Does StorageTools allow you to store objects that use the IPersistStorage interface?

1. What is new in StorageTools 2.5?
  • The File Property component. This allows you to manipulate the file properties of structured storage files and of files located on Windows 2000 NTFS formatted drives.

  • Property Browser sample program with source code. This utility lets you search directories to find files with specified properties.

  • Registry ATL component. Now you can access the registry in your program without having to place an ActiveX control on your form, and without having to ship the large MFC libraries.

  • Support for the IPersistStorage and IPersistStreamInit interfaces in StorageTools, complementing already existing support for IPersistStream.

  • Sample program showing how to create classes in Visual Basic 6 that support the IPersistStream interface for use with StorageTools.


2. I seem to be having trouble with the Summary Information functions in the Storage component (dwStg.dll). When I view it with Windows Explorer, I either get some garbage characters at the end of string elements, or I am having trouble reading all of the custom DocumentSummaryInformation properties, or the Summary Information properties are suddenly no longer readable by Explorer (although the control, StorageBrowser and other Office applications can still see them).

The Windows Explorer does not seem to handle certain formats for the Summary Information. The latest version of the Storage component fixes these problems. You can update to this version (and update all other elements of StorageTools that have changed) by using the StorageTools Auto Update feature. If you do not have access to FTP, or if for some reason a firewall prevents you from downloading files, contact Desaware and we will send you a copy.


3. I am having difficulty figuring out which flags are valid in the Create and Open statements. When I try to use a certain combination, I get an error saying "Invalid combination of flags".

Some of the flags are only useful at certain times. Here is a list describing which flag combinations are possible:

CreateStorageFile and CreateStorageMemory

STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_WRITE
STG_TRANSACTED or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_TRANSACTED or STG_SHARE_EXCLUSIVE or STG_WRITE
STG_TRANSACTED or STG_DENY_READ or STG_READWRITE
STG_TRANSACTED or STG_DENY_READ or STG_WRITE

CreateStorage

STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_WRITE
STG_TRANSACTED or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_TRANSACTED or STG_SHARE_EXCLUSIVE or STG_WRITE

CreateStream

STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_WRITE

OpenStorageFile and OpenStorageMemory

STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_WRITE
STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_READ
STG_TRANSACTED or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_TRANSACTED or STG_SHARE_EXCLUSIVE or STG_WRITE
STG_TRANSACTED or STG_SHARE_EXCLUSIVE or STG_READ
STG_TRANSACTED or STG_DENY_WRITE or STG_READWRITE
STG_TRANSACTED or STG_DENY_WRITE or STG_WRITE
STG_TRANSACTED or STG_DENY_WRITE or STG_READ
STG_TRANSACTED or STG_DENY_READ or STG_READWRITE
STG_TRANSACTED or STG_DENY_READ or STG_WRITE
STG_TRANSACTED or STG_DENY_READ or STG_READ
STG_TRANSACTED or STG_DENY_NONE or STG_READWRITE
STG_TRANSACTED or STG_DENY_NONE or STG_WRITE
STG_TRANSACTED or STG_DENY_NONE or STG_READ

OpenStorage

STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_READ
STG_TRANSACTED or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_TRANSACTED or STG_SHARE_EXCLUSIVE or STG_READ

OpenStream

STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_READWRITE
STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_WRITE
STG_DIRECT or STG_SHARE_EXCLUSIVE or STG_READ

When you open a sub-storage or a stream, it must be at least as restricted as its parent (so if the parent is read-only the child must be as well). An exception exists if the parent of a stream is opened in a transacted, read-only mode - then the stream can be opened in a mode that allows writes. However, no writes are recorded to disk when this happens.


4. When I compile my project containing StorageTools in VB 5 to native code, the program crashes when it is run.  This does not happen if the program is run in the environment or if the program is compiled to P-code.  

A. Some versions of the StorageTools controls had this problem.
Contact us to get the latest version. This will fix the problem.


5. Does StorageTools 1.0 work in VB 5.0?

The StorageTools control works in VB 5.0 without any problems. Previous versions of the registry controls (included in StorageTools) may not work under certain circumstances when a VB 5.0 project is compiled into native code. Contact Desaware for an updated version of the registry controls.


6. When I try to create a storage or stream with a 32 character name, it does not work.

The length of names is actually limited to 31 characters.

 
7. I am using the StorageTools dll component in C/C++, and there is a conflict between the EOF property and the C constant EOF.  How do I get around this?

TO fix this, use the following when you import the dwStg.dll component:

#undef EOF
#import <dwStg.dll>
#define EOF (-1)


8. Does StorageTools allow you to store objects that use the IPersistStorage interface?

StorageTools does not support the IPersistStorage interface for objects at this time. IPersistStorage is typically used to store large complex documents (such as Word documents).


 
Products    Purchase    Articles    Support    Company    Contact
Copyright© 2012 Desaware, Inc. All Rights Reserved.    Privacy Policy