Additionally, does it work if you decompose the statement in 2: wbs = xlapp.Workbooks wb = wbs.Open(fname)
Michael. On Wed, Jun 29, 2011 at 5:18 PM, Michael Goffioul <michael.goffi...@gmail.com> wrote: > The java package uses the same system, so if it works for java object, it > should > logically also work for COM objects. By looking at the code for both, I can't > see any obvious difference. Some debugging might be needed, but I can't > investigate at the moment. > > Michael. > > > On Wed, Jun 29, 2011 at 11:07 AM, Philip Nienhuis <pr.nienh...@hccnet.nl> > wrote: >> Hi Michael, >> >> While trying the windows package with Tatsuro Matsuoka's octave-3.4.2 MingW >> testing binary, I hit an old error: >> >> ========================================= >> octave.exe:29> xlapp = actxserver ('Excel.Application') >> xlapp = >> >> <COM object _Application (0x0x2767d4)> >> >> octave.exe:30> wb = xlapp.Workbooks.Open (fname) >> error: can't perform indexing operations for octave_com_object type >> octave.exe:30> fname >> fname = C:\Home\Philip\Mydocs\Octave\spreadsheet-tst\test75.xls >> ========================================= >> >> Apart from some warnings in grab.cc, the windows package installed fine; the >> messagebox & com_<> function work OK. >> But the object-oriented stuff doesn't work. >> >> Using the com_get() / get() & com_invoke() (also get() ) functions I can >> work with the Excel file, but this is a bit of a hassle. >> >> From the info in your answer from 2 years back (copied below), I conclude it >> must be related to the dispatch() stuff. I got this warning when compiling >> the windows package: >> >> "warning: dispatch is obsolete and will be removed from a future version of >> Octave; please use classes instead" >> >> .... from which I conclude that dispatch() should still work, however. >> >> Where can I look to get past this error? >> >> I've copied the install log (-verbose flag) of pkg install to this e-mail. >> >> Thanks, >> >> Philip >> >> >> Michael Goffioul wrote: >>> >>> On Sun, Jun 21, 2009 at 11:08 AM, Philip Nienhuis<pr.nienh...@hccnet.nl> >>> wrote: >> >> <snip> >>>> >>>> 1. Any hints on Where can I find more info on the web about com_**** >>>> functions? I'm not quite proficient with COM, I used some info I found in >>>> your example mat2xls script (fairly basic) and in contributed background >>>> docs on the Mathworks site (a bit more elaborate). >>> >>> There are not much to say about that, these functions are just the >>> functional counterpart of the COM indexing you're used to. For instance, >>> when octave reads obj.prop and obj is a COM object, it ends up calling >>> com_get(obj, 'prop'). The available functions are: >>> >>> com_get(obj, 'prop') => obj.prop >>> com_set(obj, 'prop', val) => obj.prop = val >>> com_invoke(obj, 'fun', arg0, ...) => obj.fun(arg0, ...) >>> com_delete(obj) => release the COM object >>> com_release(obj) => identical to com_celete(obj) >>> >>> Now, because all these functions are also "dispatch"-ed, you can >>> use them without the "com_" prefix. That is get(obj, 'prop'), >>> invoke(obj, 'fun', arg0, ...) >>> and so on. >> >> >> >> > ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ Octave-dev mailing list Octave-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/octave-dev