octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave-3.7.2+/Windows [VS2010] available


From: Michael Goffioul
Subject: Re: Octave-3.7.2+/Windows [VS2010] available
Date: Sat, 23 Feb 2013 13:58:08 -0500



On Sat, Feb 23, 2013 at 1:44 PM, Daniel J Sebald <address@hidden> wrote:
On 02/23/2013 07:45 AM, Michael Goffioul wrote:
On Sat, Feb 23, 2013 at 4:30 AM, Daniel J Sebald <address@hidden
<mailto:address@hidden>> wrote:

    On 02/23/2013 01:43 AM, vinukn wrote:

        I got some error message while exporting a variable to xlsx file

        Error Log:
        octave:6>  h=hilb(3);
        octave:7>  xlswrite('E:\et.xlsx',h,'h');
        Creating file E:\et.xlsx
          error: feval: function 'com_set' not found
        error: assignment failed, or no method for 'octave_com_object =
        scalar'
        error: called from:
        error:
        G:\Software\Octave-3.7.2+\__share\octave\packages\io-1.2.__0\private\__COM_spsh_open__.m

        at line 49, column 37
        error:
        G:\Software\Octave-3.7.2+\__share\octave\packages\io-1.2.__0\xlsopen.m

        at line 242, column 32
        error:
        G:\Software\Octave-3.7.2+\__share\octave\packages\io-1.2.__0\xlswrite.m

        at line 170, column 9


    I would file a bug report, but can't determine if this is in the IO
    package or elsewhere.  I've searched the __COM_spsh_open__.m,
    xlsopen.m, and xlswrite.m files and see no "feval" anywhere.  There
    is nothing by the name com_set in the main IO package files or the
    private subdirectory.

    Philip, could you please take a look at the file

    http://sourceforge.net/p/__octave/code/11662/tree/trunk/__octave-forge/main/io/inst/__private/__COM_spsh_open__.m#__l19

    <http://sourceforge.net/p/octave/code/11662/tree/trunk/octave-forge/main/io/inst/private/__COM_spsh_open__.m#l19>

    ?  Note the comment calls this __COM_xlsopen.m__  (why are the
    underscores after the 'm' and not the 'open'?)

    ## __COM_xlsopen.m__ - Internal function for opening an xls(x) file
    using COM/ActiveX

    but it is actually __COM_spsh_open__.m.

    Where is the "actxserver" routine that gives a portal to ActiveX?

         app = actxserver ("Excel.Application");

    Perhaps that is where there is an feval failing with com_set.


That's an issue I noticed after building the installer. The problem lies
in the windows forge package. It still used the dispatch system, but
this has been removed in current development branch. So the package
fails to load properly. I've released a new windows forge package
yesterday, which fixes the issue, but it's not included in the binary
installer I made.

If you need that functionality, I can produce an updated installer for
the windows forge package.

Michael.

I don't need that functionality at the moment since I don't use Windows much.  But it begs the question about creating and reading Excel files on Linux machines.  The ActiveX approach is very creative, but isn't portable.  What if some user of Linux wants to work with a group of Windows users who are utilizing XLS files?

AFAIK, Philip has built some smart detection system in the io package that will use the best method available. Under Linux, there are a couple of Java-based solutions that can be used by the io package. Philip can probably elaborate more on this, it is briefly described in:

http://octave.sourceforge.net/io/function/xlsopen.html

Michael.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]