[Jprogramming] wdoo and or tara with non-Office
bill lam
bbill.lam at gmail.com
Tue Jul 9 13:35:10 UTC 2013
I guess at least it needs the memf. To avoid memory leak.
On 9 Jul, 2013, at 9:18 PM, David Mitchell <davidmitchell at att.net> 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 <davidmitchell at att.net> 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
More information about the Programming
mailing list