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.



mkdir (C:\Home\Philip\LOCALS~1\Temp\oct-2)
untar (windows-1.0.8.tar.gz, C:\Home\Philip\LOCALS~1\Temp\oct-2)
checking for gcc... gcc
checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for mkoctfile... C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2
retrieving compile and link flags from 
C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2
checking for F77_FUNC... yes
checking for octave... C:/Programs/Octave/3.4.2/bin/octave-3.4.2
checking for OCTAVE_VERSION in Octave... 3.4.2
checking for octave_config_info('canonical_host_type') in Octave... 
i686-pc-mingw32
checking for octave_config_info('SHLEXT') in Octave... dll
checking whether ln -s works... no, using cp -p
checking for ranlib... ranlib
checking for strip... strip
configure: creating ./config.status
config.status: creating Makeconf

  "$prefix" is C:/Programs/Octave/3.4.2/share/octave/packages/windows-1.0.8
  "$exec_prefix" is ${prefix}

octave commands will install into the following directories:
   m-files:   /c/octave/3.4.2/share/octave/3.4.2/site/m/octave-forge
   oct-files: 
/c/octave/3.4.2/lib/octave/3.4.2/site/oct/i686-pc-mingw32/octave-forge
   binaries:  /c/octave/3.4.2/libexec/octave/3.4.2/site/exec/i686-pc-mingw32
alternatives:
   m-files:   
/c/octave/3.4.2/share/octave/3.4.2/site/octave-forge-alternatives/m
   oct-files: 
/c/octave/3.4.2/lib/octave/3.4.2/site/octave-forge-alternatives/oct/i686-pc-mingw32

shell commands will install into the following directories:
   binaries:  ${exec_prefix}/bin
   man pages: ${datarootdir}/man
   libraries: ${exec_prefix}/lib
   headers:   ${prefix}/include

octave-forge is configured with
   octave:      C:/Programs/Octave/3.4.2/bin/octave-3.4.2 (version 3.4.2)
   mkoctfile:   C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2 for Octave 2

find . -name NOINSTALL -print    # shows which toolboxes won't be installed

make: Entering directory `/tmp/oct-2/windows-1.0.8/src'
C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2 -DHAVE_OCTAVE_34 -v -c grab.cc
g++ -shared-libgcc -c -I/c/Programs/gplibs/include 
-I/c/Programs/OctaveLibs/include -I/GnuWin32/include  
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave\.. 
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave 
-Ic:\Programs\Octave\3.4.2\include -mieee-fp 
-Ic:/Programs/gplibs/include/freetype2 -Ic:/Programs/gplibs/include 
-IC:/Programs/gplibs/include -g -O2 -DHAVE_OCTAVE_34 grab.cc -o 
grab.oC:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2 -DHAVE_OCTAVE_34 -v -c 
grab_win32part.cc
g++ -shared-libgcc -c -I/c/Programs/gplibs/include 
-I/c/Programs/OctaveLibs/include -I/GnuWin32/include  
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave\.. 
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave 
-Ic:\Programs\Octave\3.4.2\include -mieee-fp 
-Ic:/Programs/gplibs/include/freetype2 -Ic:/Programs/gplibs/include 
-IC:/Programs/gplibs/include -g -O2    -DHAVE_OCTAVE_34 grab_win32part.cc -o 
grab_win32part.o 
C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2 -DHAVE_OCTAVE_34 -v -o grab.oct 
grab.o grab_win32part.o -luser32
g++ -shared-libgcc -shared -Wl,--export-all-symbols -Wl,--enable-auto-import 
-Wl,--enable-runtime-pseudo-reloc  -o grab.oct  grab.o grab_win32part.o   
-luser32 -Lc:\Programs\Octave\3.4.2\lib\octave\3.4.2 
-Lc:\Programs\Octave\3.4.2\lib -loctinterp -loctave  -lcruft 
-L/c/Programs/gplibs/lib -L/c/Programs/OctaveLibs/lib -L/GnuWin32/lib 
-Wl,--allow-multiple-definition -Wl,--enable-auto-import 
-Wl,--enable-runtime-pseudo-reloc-v2 -lblas  -lfftw3  -lfftw3f -liberty -lm 
-lpthread -lgfortran -llapack -lgdi32 -lws2_32 -luser32 -lkernel32 -lgdi32 
-lws2_32 -luser32 -lkernel32 -Lc:/Programs/gplibs/lib 
-Lc:/Programs/OctaveLibs/lib -Lc:/Programs/GnuWin32/lib 
-Lc:/programs/mingw/bin/../lib/gcc/mingw32/4.5.2 
-Lc:/programs/mingw/bin/../lib/gcc 
-Lc:/programs/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/lib 
-Lc:/programs/mingw/bin/../lib/gcc/mingw32/4.5.2/../../.. -lm -lpthread 
-lgfortran -llapack -lmingw32 -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 
-ladvapi32 -lshell32
C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2 -DHAVE_OCTAVE_34 -v -c win32api.cc
g++ -shared-libgcc -c -I/c/Programs/gplibs/include 
-I/c/Programs/OctaveLibs/include -I/GnuWin32/include  
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave\.. 
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave 
-Ic:\Programs\Octave\3.4.2\include -mieee-fp 
-Ic:/Programs/gplibs/include/freetype2 -Ic:/Programs/gplibs/include 
-IC:/Programs/gplibs/include -g -O2    -DHAVE_OCTAVE_34 win32api.cc -o 
win32api.o
C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2 -DHAVE_OCTAVE_34 -v -c 
win32api_win32part.cc
g++ -shared-libgcc -c -I/c/Programs/gplibs/include 
-I/c/Programs/OctaveLibs/include -I/GnuWin32/include  
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave\.. 
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave 
-Ic:\Programs\Octave\3.4.2\include -mieee-fp 
-Ic:/Programs/gplibs/include/freetype2 -Ic:/Programs/gplibs/include 
-IC:/Programs/gplibs/include -g -O2    -DHAVE_OCTAVE_34 win32api_win32part.cc 
-o win32api_win32part.o
C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2 -DHAVE_OCTAVE_34 -v -o 
win32api.oct win32api.o win32api_win32part.o -luser32 -ladvapi32
g++ -shared-libgcc -shared -Wl,--export-all-symbols -Wl,--enable-auto-import 
-Wl,--enable-runtime-pseudo-reloc  -o win32api.oct  win32api.o 
win32api_win32part.o   -luser32 -ladvapi32 
-Lc:\Programs\Octave\3.4.2\lib\octave\3.4.2 -Lc:\Programs\Octave\3.4.2\lib 
-loctinterp-loctave  -lcruft -L/c/Programs/gplibs/lib 
-L/c/Programs/OctaveLibs/lib -L/GnuWin32/lib -Wl,--allow-multiple-definition 
-Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc-v2 -lblas  -lfftw3  
-lfftw3f -liberty -lm -lpthread -lgfortran -llapack -lgdi32 -lws2_32 -luser32 
-lkernel32 -lgdi32 -lws2_32 -luser32 -lkernel32 -Lc:/Programs/gplibs/lib 
-Lc:/Programs/OctaveLibs/lib -Lc:/Programs/GnuWin32/lib 
-Lc:/programs/mingw/bin/../lib/gcc/mingw32/4.5.2 
-Lc:/programs/mingw/bin/../lib/gcc 
-Lc:/programs/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/lib 
-Lc:/programs/mingw/bin/../lib/gcc/mingw32/4.5.2/../../.. -lm -lpthread 
-lgfortran -llapack -lmingw32 -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 
-ladvapi32 -lshell32
C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2 -DHAVE_OCTAVE_34 -v -c __COM__.cc
g++ -shared-libgcc -c -I/c/Programs/gplibs/include 
-I/c/Programs/OctaveLibs/include -I/GnuWin32/include  
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave\.. 
-Ic:\Programs\Octave\3.4.2\include\octave-3.4.2\octave 
-Ic:\Programs\Octave\3.4.2\include -mieee-fp 
-Ic:/Programs/gplibs/include/freetype2 -Ic:/Programs/gplibs/include 
-IC:/Programs/gplibs/include -g -O2    -DHAVE_OCTAVE_34 __COM__.cc -o __COM__.o
C:/Programs/Octave/3.4.2/bin/mkoctfile-3.4.2 -DHAVE_OCTAVE_34 -v -o __COM__.oct 
__COM__.o-lole32 -loleaut32 -luser32 -luuid
g++ -shared-libgcc -shared -Wl,--export-all-symbols -Wl,--enable-auto-import 
-Wl,--enable-runtime-pseudo-reloc  -o __COM__.oct  __COM__.o   -lole32 
-loleaut32 -luser32 -luuid -Lc:\Programs\Octave\3.4.2\lib\octave\3.4.2 
-Lc:\Programs\Octave\3.4.2\lib -loctinterp -loctave  -lcruft 
-L/c/Programs/gplibs/lib -L/c/Programs/OctaveLibs/lib -L/GnuWin32/lib 
-Wl,--allow-multiple-definition -Wl,--enable-auto-import 
-Wl,--enable-runtime-pseudo-reloc-v2 -lblas -lfftw3  -lfftw3f -liberty -lm 
-lpthread -lgfortran -llapack -lgdi32 -lws2_32 -luser32 -lkernel32 -lgdi32 
-lws2_32 -luser32 -lkernel32 -Lc:/Programs/gplibs/lib 
-Lc:/Programs/OctaveLibs/lib -Lc:/Programs/GnuWin32/lib 
-Lc:/programs/mingw/bin/../lib/gcc/mingw32/4.5.2 
-Lc:/programs/mingw/bin/../lib/gcc 
-Lc:/programs/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/lib 
-Lc:/programs/mingw/bin/../lib/gcc/mingw32/4.5.2/../../.. -lm -lpthread 
-lgfortran -llapack -lmingw32 -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 
-ladvapi32 -lshell32
make: Leaving directory `/tmp/oct-2/windows-1.0.8/src'
copyfile C:\Home\Philip\LOCALS~1\Temp\oct-2\windows-1.0.8\src\__COM__.oct 
C:\Home\Philip\LOCALS~1\Temp\oct-2\windows-1.0.8\src\grab.oct 
C:\Home\Philip\LOCALS~1\Temp\oct-2\windows-1.0.8\src\win32api.oct 
C:\Home\Philip\LOCALS~1\Temp\oct-2\windows-1.0.8\inst\i686-pc-mingw32-api-v45+

grab.cc: In function 'octave_value_list Fgrab(const octave_value_list&, int)':
grab.cc:126:27: warning: 'MArray<T>::MArray(octave_idx_type) [with T = int, 
octave_idx_type = int]' is deprecated (declared at 
c:\Programs\Octave\3.4.2\include\octave-3.4.2\octave\../octave/MArray.h:46)
grab.cc:127:27: warning: 'MArray<T>::MArray(octave_idx_type) [with T = int, 
octave_idx_type = int]' is deprecated (declared at 
c:\Programs\Octave\3.4.2\include\octave-3.4.2\octave\../octave/MArray.h:46)
grab.cc:145:39: warning: 'void Array<T>::resize(octave_idx_type) [with T = int, 
octave_idx_type = int]' is deprecated (declared at 
c:\Programs\Octave\3.4.2\include\octave-3.4.2\octave\../octave/Array.h:453)
grab.cc:146:39: warning: 'void Array<T>::resize(octave_idx_type) [with T = int, 
octave_idx_type = int]' is deprecated (declared at 
c:\Programs\Octave\3.4.2\include\octave-3.4.2\octave\../octave/Array.h:453)
warning: dispatch is obsolete and will be removed from a future version of 
Octave; please use classes instead

------------------------------------------------------------------------------
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

Reply via email to