Encountered Problems

on Michael Vorburger's Personal Homepage
Home Personal Projects alpha ware

 

"Basically easy"

Problems encountered

During the implementation of the SumInf DLL, I once more recognised how something "basically easy" can turn out to become pretty tricky in the so-called "details". This is the main reason why Software Development at fixed costs is at least tricky.

Using Microsoft's SUMINFO sample?

Realising that the Microsoft SDK provides a sample code SUMINFO which allows to read & modify all Summary Info seemed to make this DLL a trivial job. After several attempts, that sample was finally not used. Why? It does simply not compile under 16-Bit/BORLAND-C++.

Developing a 16-Bit DLL was a customer requirement because the final target platform was Win 3.x. The Borland Compiler was the only one I had available for 16-Bit target. (The recent MS Visual C++ compilers support only 32-Bit.)

The reason for this "simply not compiled" seemed to be the usage of proprietary C++ extensions ("anonymous struct", available only in MS Visual C++) and/or 16/32-Bit issues in the MS sample.

Finally, my SumInf DLL was implemented completely "from scratch" corresponding to the specification in Win32 SDK: OLE Property Sets/The Document SumInf. (see Specification)

An error in MS Word!

As the project was finished and delivered to the client, he reported failure for some kinds of documents while for others it would work perfectly. Looking closer at his documents with Microsoft's DocFile Viewer, I found that those who did not work had an incomplete Document Summary Stream:

MS Word 6.0 does write an incomplete Document Summary Stream if an AutoText element if defined in a template (DOT) file! This seems to be corrected in 32-Bit Word 95/7.0.

An alternative method was finally implemented to read the Document Title of these problematic files; not using the Summary Stream. If you plan on implementing something similar to SumInf, you might want to contact contact alpha ware.

One Byte!

A final problem were GPFs (general protection faults) which rarely showed up, and mostly only on the client's computer and not on mine. After a long night with the debugger, this  error could be identified and easily solved: I had allocated one byte too less in some string operation! (The debugging was done with a standalone version, not the DLL.)

Go to TOP of page
Page last modified on 03-Mai-98
© Copyright 1998-99 homepage@vorburger.ch [E-MAIL]

Site hosted by
ItaWeb, Peruggia (Italy)

KISSfp FrontPage Add-On
KISSfp FrontPage

  URL: http://www.vorburger.ch/projects/suminfo/troubles.html