Re: Interaction with office programs

From: Peter E.C. Dashwood (dashwood_at_enternet.co.nz)
Date: 12/27/03


Date: Sun, 28 Dec 2003 08:07:15 +1300

Thanks Thane.

I've never encountered it, but I can see it could be a problem with large
Excel Spreadsheets, or transferring large volumes of data, if you are
running under pre-Win2000 OSes.

I tend to solve problems ONLY when they arise, so I would debate whether it
is necessary to be aware of things that haven't arisen as a problem. There
are many pitfalls, on many platforms that people will encounter only rarely
and under specific circumstances, and to "be aware" of all of these (there
are over 4000 documented problems with the IBM OS/VS COBOL compiler, for
instance, NONE of which I have ever encountered, despite having coded more
than two million lines of COBOL for it...) seems to me to simply be a waste
of braincells <G>.

This one is not quite in that category, and I agree with you that anyone
using Automation server (COM) with Excel for anything more than trivial
stuff, probably DOES need to be aware of this problem.

Thanks again fo rthe comprehensive post and references.

Pete.

"Thane Hubbell" <thaneh@softwaresimple.com> wrote in message
news:bfdfc3e8.0312251718.34bf7245@posting.google.com...
> "Peter E.C. Dashwood" <dashwood@enternet.co.nz> wrote in message
news:<3fea0b98_4@news.athenanews.com>...
> > "Thane Hubbell" <thaneh@softwaresimple.com> wrote in message
> > news:bfdfc3e8.0312241258.f9538cd@posting.google.com...
> > >
> > > There are some differences between the versions for NT vs 9x you need
> > > to be aware of - the limited 64K object pool under 9x.
> > >
> > I have been using this stuff for years and was NOT aware of this
> > "limitation".
> >
> > What makes you think that a user "needs to be aware" of it, Thane?
> >
> > How does it manifest itself as a problem and under what circumstances?
> >
> > Pete.
>
> Please see this link:
>
> http://support.microsoft.com/?kbid=247412
>
> And then specifically this text:
>
> Transferring data cell by cell can be a perfectly acceptable approach
> if the amount of data is small. You have the flexibility to place data
> anywhere in the workbook and can format the cells conditionally at run
> time. However, this approach is not recommended if you have a large
> amount of data to transfer to an Excel workbook. Each Range object
> that you acquire at run time results in an interface request so that
> transferring data in this manner can be slow. Additionally, Microsoft
> Windows 95 and Windows 98 have a 64K limitation on interface requests.
> If you reach or exceed this 64k limit on interface requests, the
> Automation server (Excel) might stop responding or you might receive
> errors indicating low memory. This limitation for Windows 95 and
> Windows 98 is discussed in the following Knowledge Base article:
> 216400 PRB: Cross-Process COM Automation Can Hang Client Application
> on Win95/98
>
>
> And the link to that article is:
>
> http://support.microsoft.com/default.aspx?scid=kb;EN-US;216400
>
> The specific manifestation - and it's ugly:
>
> SYMPTOMS
> When automating an out-of-process COM server from a client
> application, if the client code enters a tight loop or makes extensive
> requests for obtaining new interfaces, the client application might
> hang during an automation call, requiring the user to terminate the
> process abnormally. Once hung, any COM request involving a marshaled
> interface fails. A reboot is required to clear the problem.
>
> The problem only occurs on Windows 95 and Windows 98 systems.
>
> **** This is certainly something any programmer should be aware of.