On Fri, 08 May 2009, Glenn Linderman wrote: > On approximately 5/8/2009 12:54 PM, came the following characters from > the keyboard of Jan Dubois: > > > > Well, you didn't provide the mapping from line 3352 to $Excel->Close(). > > It sure looks like I said I get an error on the last line, and
[...] So you did. I'm sorry, I don't quite understand how I missed that. > I removed the line, tested the program. The error didn't recur, and > Excel didn't stay around. Thanks for the help. I'm not a fan of MS, > Excel, or OLE, preferring to spend time doing useful things, but > sometimes I try to cut-n-paste some MS stuff into my programs when they > must interface to some preexisting use... I've read some stuff, but > error messages like these are totally useless without long experience. > Poor error messages, and poor error handling are two of my biggest beefs > with post MS-DOS MS software. MS-DOS wasn't too bad, but it has only > gotten worse since. [...] > > No, it is not the "require". The issue is that Win32::OLE is checking $^H > > at runtime, but $^H is not a lexical variable. So it's value doesn't > > represent the proper state of "use strict" at the time the call was > > compiled. > > I'm glad you understand that! All I know, is I used strict, so if OLE > isn't (or can't) detect that properly, then probably it shouldn't try to > do things based on strict or not... That too is my fault, back in ancient history (1998) before I officially maintained Win32::OLE I had rewritten large parts of Win32::OLE to make them more powerful and more sane (IMO), including the removal of the weird anonymous collection retry logic. But I got some resistance from the people at ActiveState (I didn't work there at that time) and as a compromise only disabled the hack under "use strict" on the assumption that all sane code would "use strict" anyways. I simply did not understand the hinting mechanism in $^H correctly at that time, and regretted not fighting harder to get the hack removed ever since. But anyways, none of the objecting parties are actively involved with ActiveState or Perl anymore, so I guess I'm free to fix this now. Cheers, -Jan _______________________________________________ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs