As what David had pointed out, it crashed at the line
olevarfree__p propVals
As least for the time being, you can comment out this line.
Probably there will be no memory leak because the entire OLE
object will be destroyed by the line
(olemethod__p ::0:) desktop ; 'terminate'
Вт, 16 июл 2013, Mike Day писал(а):
> Probably for Bill and/or David only!
>
> I hadn't tried changing the code from what worked with 32-bit j.exe &
> j.dll, as I didn't understand David's suggestions. No fault of his -
> I don't understand the code that works! The verb partly listed
> further below fails at the following line - or at least it reaches
> the line before according to debug. J crashes when I press the debug
> arrow to execute this line.
> olevarfree__p propVals
>
> I've just now tried replacing that line with these two. They
> _appear_ to try to do something similar to olevarfree .
>
> SafeArrayUnaccessData_oleutil_ memr propVals, 8 1 4 NB, seems to
> work ok but perhaps it needs __p to specify its locale?
> SafeArrayDestroy_oleutil_ memr propVals, 8 1 4
>
> J then crashes at the Destroy line.
>
> Here's the version stuff:
> JVERSION
>
> Engine: j701/2011-01-10/11:25
>
> Library: 8.01.012
>
> Qt IDE: 1.0.13
>
> Platform: Win 64
>
> Installer: j801 beta install
>
> InstallPath: c:/d/j801
>
>
> A listing follows -
>
> NB. Plagiarism rules! Cribbed from wdoowrite...
> newwdoowrite =: 3 : 0 NB. works with 32-bit J.exe & j.dll
> :
> data =. ,x
> 'f sheetname start' =. y
> 'col row' =. start
> PATH=. '/'&(('\' I.@:= ])}) f
> f1=. 'file:///', PATH
> smoutput f1
> p=. '' conew 'wdooo'
> status =. 1
> try.
> 'base temp'=. olecreate__p 'com.sun.star.ServiceManager'
> olemethod__p base ; 'createInstance' ; 'com.sun.star.frame.Desktop'
> desktop=. oleid__p temp
> propVals=. VT_UNKNOWN olevector__p ('Hidden' ; 1 ; VT_BOOL)
> OOoPropertyValue__p base
> (VT_BSTR, VT_BSTR, VT_I4, VT_ARRAY+VT_UNKNOWN) olemethod__p desktop
> ; 'loadComponentFromURL' ; f1 ; '_blank' ; 0 ; <<propVals
> olevarfree__p propVals NB.it fails here............................
> doc=. oleid__p temp
> olemethod__p doc ; 'getSheets'
> olemethod__p temp ; 'getByName' ; sheetname
> sheet=. oleid__p temp
> NB. I gave up looking for a block operation. There's only one row of data.
> for_celldata. data do.
> if. #celldata =. ;celldata do.
> olemethod__p sheet ; 'getCellByPosition' ; col;row
> olemethod__p temp ; 'SetValue' ; +/celldata
> end.
> col =. >: col
> end.
> olemethod__p doc ; 'store'
> VT_BOOL olemethod__p doc ; 'close' ; 1
> olemethod__p desktop ; 'terminate'
> NB. clean up
> olerelease__p sheet
> olerelease__p doc
> olerelease__p desktop
> smoutput 'success'
> status =. 1
> catch.
> smoutput 'error'
> smoutput oleqer__p ''
> (olemethod__p ::0:) desktop ; 'terminate'
> status =. 9999
> end.
> destroy__p ''
> )
>
> Thanks,
> Mike
>
> On 16/07/2013 15:47, bill lam wrote:
> >Did you mean you had follow David's instruction but still
> >failed? On which line did the crash happend?
> >
> >Вт, 16 июл 2013, Mike Day писал(а):
> >>Thanks.
> >>Under Windows 8.
> >>
> >>0) On the virus-checking front, I can report that AVAST seems ok
> >>with the new jqt.exe (64-bit)*
> >>BUT, the new 32-bit version of jqt.exe
> >> (a) passes AVAST's manually selected file-scan,
> >> but
> >> (b) jqt.exe (32-bit) still fires AVAST's red virus warning window
> >>and is "safely" stowed in its dead-man's chest.
> >>So I'm still having to run an alternative virus-checker until and if
> >>AVAST approves jqt.exe (32bit).
> >>AVAST is free - well, my version is anyway - and I'd be obliged if
> >>someone else could try. I've had no response from them following my
> >>false-positive report; they might take some notice if others could
> >>support my submission.
> >>
> >>*1) I'd like to run 64-bit J but have two problems (related to j.exe
> >>and dll rather than jqt)
> >> a) My little spread-sheet read/write application which now
> >>successfully uses wdooo in the 32-bit version crashes with the 64-bit
> >>installation. Where did Bill & David etc get to on this one? Are
> >>there any other addons which don't work with 64-bit J?
> >>
> >> b) install'qtide' with jconsole.exe doesn't succeed in updating
> >>jqt.exe & jqt.dll . I've got two installation folders, d:\ j801-32
> >>and d:\j801;
> >>I can't see why updates in d:\j801-32 work and those in d:\j801
> >>don't.... Both folders have profilex.ijs with
> >> user=install,'\user' and config = user,'\configqt' . I'm getting
> >>round the problem by downloading jqt-win-x64.zip but it's a bit
> >>cumbersome.
> >>
> >>Mike
> >>
> >>
> >>
> >>
> >>On 16/07/2013 00:33, bill lam wrote:
> >>>New binaries (1.0.13) for win and mac have been uploaded to
> >>>jsoftware, scanned clean through www.virustotal.com.
> >>>
> >>>fix bug in progressbar, slider; add set commands for slider,
> >>>spinbox, dspinbox
> >>>
> >>
> >>
> >>-----
> >>No virus found in this message.
> >>Checked by AVG - www.avg.com
> >>Version: 2013.0.3349 / Virus Database: 3204/6494 - Release Date: 07/15/13
> >>
> >>----------------------------------------------------------------------
> >>For information about J forums see http://www.jsoftware.com/forums.htm
>
>
>
> -----
> No virus found in this message.
> Checked by AVG - www.avg.com
> Version: 2013.0.3349 / Virus Database: 3204/6496 - Release Date: 07/16/13
>
--
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm