> I have experimented with some of the examples, and have found that it
> is using set_properties which causes the problem under Windows 7.
Hi Richard,
Thanks, that indicates that the problem occurs when using
OLE::Storage_Lite for files less than 7MB. In general this only
happens in S::WE when set_properties() is in use. (It may be possible
that the error doesn't occur for files over 4k that use set_properties
() but that probably isn't worth testing).
I don't currently have a copy of Windows 7 so I'll need to get one and
install it in a VM. This may take a few days.
In the meantime perhaps you (or someone else reading along at home)
can help me test this by making some changes to OLE::Storage_Lite.pm.
Either, back up your Storage_Lite.pm module or download version 0.18
and make the changes there.
In the Storage_Lite.pm file you will see the following around line 378
(in version 0.18).
375 , pack("V", 0)
376 , pack("V", 0x1000)
377 , pack("V", 0) #Small Block Depot
378 , pack("V", 1)
Just in case it isn't clear the numbers to the left are line numbers
and aren't part of the file. Change line 378 so that it reads as
follows:
375 , pack("V", 0)
376 , pack("V", 0x1000)
377 , pack("V", 0) #Small Block Depot
378 , pack("V", $iSBDcnt)
Install this module and retest
properties.pl (in the examples folder).
If there is still a problem change line 377 as well:
375 , pack("V", 0)
376 , pack("V", 0x1000)
377 , pack("V", $iSBDcnt ? 0 : -2)
#Small Block Depot
378 , pack("V", $iSBDcnt)
Retest
properties.pl and let me know.
John.
--