I guess at least it needs the memf. To avoid memory leak. On 9 Jul, 2013, at 9:18 PM, David Mitchell <[email protected]> wrote:
> I changed > > SafeArrayDestroy_oleutil_ propVals > > to > > SafeArrayDestroy_oleutil_ propVals > olevarfree__p propVals > > This did not crash in J801_32 and did crash in J801_64. > > On 7/9/2013 9:03, bill lam wrote: >> Will it work if olevarfree comes after that newly added line? >> >> On 9 Jul, 2013, at 8:24 PM, David Mitchell <[email protected]> wrote: >> >>> I replaced >>> >>> olevarfree__p propVals >>> >>> with >>> >>> SafeArrayDestroy_oleutil_ propVals >>> >>> This did not crash with J801_64 or J801_32. >>> >>> On 7/9/2013 7:22, bill lam wrote: >>>> Thanks. But there will be memory leak if that line is not >>>> executed. I have no idea which is the culprit. >>>> >>>> Вт, 09 июл 2013, David Mitchell писал(а): >>>>> J801_32 ran successfully with the olevarfree__p line as delivered. >>>>> J801_64 crashed if the olevarfree__p was in the code. >>>>> >>>>> I moved the olevarfree__p line just before the destroy__p and J801_64 >>>>> still crashed when the olevarfree__p line was executed. >>>>> >>>>> On 7/9/2013 7:06, bill lam wrote: >>>>>> Did you mean that line worked in 32-bit but crashed in 64-bit? >>>>>> or will it work if you move that line further down? >>>>>> >>>>>> Вт, 09 июл 2013, David Mitchell писал(а): >>>>>>> Stepping through the code, the crash occurs using j801 64 if the >>>>>>> following line is executed. If it is not executed, j801 64 does not >>>>>>> crash and the code appears to work successfully. >>>>>>> >>>>>>> olevarfree__p propVals >>>>>>> >>>>>>> >>>>>>> On 7/8/2013 21:56, David Mitchell wrote: >>>>>>>> Sad to say, the crash occurs with jconsole 64 and does not occur with >>>>>>>> jconsole >>>>>>>> 64 running under cdb. >>>>>>>> >>>>>>>> This also happens with jqt running with and without cdb. >>>>>>>> >>>>>>>> I will have to be more imaginative with my debugging. >>>>>>>> >>>>>>>> On 7/8/2013 21:11, bill lam wrote: >>>>>>>>> For the purpose of testing wdooo and openoffice, it can be done >>>>>>>>> inside jconsole. >>>>>>>>> >>>>>>>>> Пн, 08 июл 2013, David Mitchell писал(а): >>>>>>>>>> When I try the updated script from the latest J801 64 on Win7 64, I >>>>>>>>>> get a 'jqt.exe has stopped working' message box. >>>>>>>>>> >>>>>>>>>> I have not looked at the crash in more detail, so it was not clear to >>>>>>>>>> me what the root of the problem was. >>>>>>>>>> >>>>>>>>>> On 7/8/2013 11:26, bill lam wrote: >>>>>>>>>>> Thanks, the typo in oocalc.ijs has been fixed and package >>>>>>>>>>> updated. >>>>>>>>>>> >>>>>>>>>>> 64-bit J can call 32-bit out-of-process oleautomation server. IIRC >>>>>>>>>>> I had tested calling a 32-bit excel.exe from 64-bit J wdooo. >>>>>>>>>>> >>>>>>>>>>> Not tested for that on Openoffice, if it fails I suspect that >>>>>>>>>>> should be a problem of Openoffice itself. >>>>>>>>>>> >>>>>>>>>>> Пн, 08 июл 2013, David Mitchell писал(а): >>>>>>>>>>>> Mike, >>>>>>>>>>>> >>>>>>>>>>>> I tried the demo script oocalc.ijs on both Win7 and Win8 with the >>>>>>>>>>>> latest J801. >>>>>>>>>>>> >>>>>>>>>>>> I found out these things: >>>>>>>>>>>> >>>>>>>>>>>> 0. Open Office is only available as 32 bit executables. The wdooo >>>>>>>>>>>> code will only work with J801 32 bit, as far as I can see. >>>>>>>>>>>> >>>>>>>>>>>> 1. The verb test.ijs would not work for me on any version of J >>>>>>>>>>>> without some changes: >>>>>>>>>>>> >>>>>>>>>>>> --- >>>>>>>>>>>> test=: 3 : 0 >>>>>>>>>>>> >>>>>>>>>>>> NB. (1!:1 <jpath '~addons/tables/wdooo/test1.ijs') 1!:2 <f=. jpath >>>>>>>>>>>> '~temp/test1.xls' >>>>>>>>>>>> (1!:1 <jpath '~addons/tables/wdooo/test1.xls') 1!:2 <f=. jpath >>>>>>>>>>>> '~temp/test1.xls' >>>>>>>>>>>> >>>>>>>>>>>> PATH=. '/'&(('\' I.@:= ])}) f >>>>>>>>>>>> >>>>>>>>>>>> NB. f1=. 'file:///', PATH, '/test1.xls' >>>>>>>>>>>> f1=. 'file:///', PATH >>>>>>>>>>>> >>>>>>>>>>>> smoutput f1 >>>>>>>>>>>> --- >>>>>>>>>>>> >>>>>>>>>>>> I also changed test.ijs to update the second sheet rather than the >>>>>>>>>>>> first >>>>>>>>>>>> sheet: >>>>>>>>>>>> >>>>>>>>>>>> NB. olemethod__p temp ; 'getByIndex' ; 0 >>>>>>>>>>>> olemethod__p temp ; 'getByIndex' ; 1 >>>>>>>>>>>> >>>>>>>>>>>> Once I made these changes, with the latest version of J801 32 bit >>>>>>>>>>>> and >>>>>>>>>>>> the current Open Office installed, the workbook test.xls in >>>>>>>>>>>> j801-user\temp showed this for Sheet 2 cells D:10, E:10, F:10: >>>>>>>>>>>> >>>>>>>>>>>> OOo Calc 123 02/28/07 >>>>>>>>>>>> >>>>>>>>>>>> Which is not in the original workbook. >>>>>>>>>>>> >>>>>>>>>>>> So the bottom line is that the code example in oocalc.ijs, as >>>>>>>>>>>> modified above, will update and save the workbook with one sheet >>>>>>>>>>>> modified. >>>>>>>>>>>> >>>>>>>>>>>> Good luck, >>>>>>>>>>>> David Mitchell >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On 7/5/2013 5:16, Mike Day wrote: >>>>>>>>>>>>> (copied to Bill & Ric) >>>>>>>>>>>>> >>>>>>>>>>>>> I suspect Bill Lam and/or Ric Sherlock are the people are the >>>>>>>>>>>>> people to ask >>>>>>>>>>>>> here, and but I'll ask the forum as a whole anyway: >>>>>>>>>>>>> >>>>>>>>>>>>> I've just acquired a new laptop and am enjoying learning 64-bit >>>>>>>>>>>>> Windows >>>>>>>>>>>>> 8. I'm >>>>>>>>>>>>> loth to pay big pounds for Office 2010 or whatever. My 32-bit >>>>>>>>>>>>> Windows 7 still >>>>>>>>>>>>> supported my old Office 2003 but that doesn't run in Win 8. I've >>>>>>>>>>>>> downloaded >>>>>>>>>>>>> Open Office which seems to be well thought of as an alternative >>>>>>>>>>>>> to M/S >>>>>>>>>>>>> Office. >>>>>>>>>>>>> >>>>>>>>>>>>> I wonder how to continue do the following, which worked under >>>>>>>>>>>>> Windows 7 >>>>>>>>>>>>> >>>>>>>>>>>>> I have a multi-worksheet xls file. >>>>>>>>>>>>> My J application successfully reads one small named worksheet, >>>>>>>>>>>>> not the >>>>>>>>>>>>> first, >>>>>>>>>>>>> using readexcel . >>>>>>>>>>>>> It uses that information and wished to modify the contents of that >>>>>>>>>>>>> worksheet ONLY. >>>>>>>>>>>>> Under Windows 7 it successfully called wdoowrite to do this. >>>>>>>>>>>>> However, I find the workbook is not updated on the new machine. >>>>>>>>>>>>> >>>>>>>>>>>>> I had used wdoowrite rather than writexlsheets as it appears that >>>>>>>>>>>>> the latter >>>>>>>>>>>>> overwrites the whole file, but I might have misunderstood it. >>>>>>>>>>>>> It looks as if writeshtdat might do the job, but I'm not sure >>>>>>>>>>>>> what locale >>>>>>>>>>>>> info >>>>>>>>>>>>> to offer as the x argument. >>>>>>>>>>>>> >>>>>>>>>>>>> Advice would be welcome! >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks >>>>>>>>>>>>> >>>>>>>>>>>>> Mike >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> ---------------------------------------------------------------------- >>>>>>>>>>>>> For information about J forums see >>>>>>>>>>>>> http://www.jsoftware.com/forums.htm >>>>>>>>>>>>> >>>>>>>>>>>> ---------------------------------------------------------------------- >>>>>>>>>>>> For information about J forums see >>>>>>>>>>>> http://www.jsoftware.com/forums.htm >>>>>>>>>>> >>>>>>>>>> ---------------------------------------------------------------------- >>>>>>>>>> For information about J forums see >>>>>>>>>> http://www.jsoftware.com/forums.htm >>>>>>>>> >>>>>>>> ---------------------------------------------------------------------- >>>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>>>> ---------------------------------------------------------------------- >>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>>> >>>>> ---------------------------------------------------------------------- >>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
