10 files in  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
has #define OPTIONAL.
I don't know how to do with these files,then i replaced all the OPTIONAL to
XOPTIONAL.Compile is OK,but the script shows the same error .Maybe
something else wrong?

-Brick

On Fri, Apr 3, 2015 at 2:52 AM, Dennis E. Hamilton <dennis.hamil...@acm.org>
wrote:

> Yes, the (#define OPTIONAL OPTIONAL) will break many things, even if it
> removes a parser error message.
>
> Where the error occurred the first time, there are many lines the same.
> See if you can find either declarations or #define statements for any of
> those capitalized names that do not fail.
>
> There may be clues there.
>
>  - Dennis
>
> -----Original Message-----
> From: Brick Ma [mailto:brickman...@gmail.com]
> Sent: Thursday, April 2, 2015 08:47
> To: dev; Dennis Hamilton
> Subject: Re: ruby uno to control openoffice
>
> I wrote a line(#define OPTIONAL OPTIONAL) in PropertyAttribute.hdl.
> It seems works.
>
> E:\RUNO-master\include\com/sun/star/beans/PropertyAttribute.hdl(3) :
> warning C40
> 05: 'OPTIONAL' : macro redefinition
>         C:\Program Files (x86)\Microsoft
> SDKs\Windows\v7.0A\include\windef.h(84)  //got u
>  : see previous definition of 'OPTIONAL'
>
> There is another error shows as follows.
>
> C:\OpenOffice\Basis\sdk\include\systools/win32/snprintf.h(85) : error
> C2375: 'ru
> by_snprintf' : redefinition; different linkage
>         c:\ruby-2.2\include\ruby-2.2.0\ruby/ruby.h(1809) : see declaration
> of 'r
> uby_snprintf'
>
> Rename snprintf in snprintf.h or ruby_snprintf in ruby.h compiles.
> But when i try to open a document,error comes out.
>
> code:
> require 'uno'
> data = {'type' => 'socket', 'host' => 'localhost',
>         'port' => 2083, 'protocol' => 'urp'}
> ctx = Uno::Connector.connect(data)     //runo can connect to openoffice,if
> openoffice is not ready,runo will say no connection.
> smgr = ctx.getServiceManager
> desktop = smgr.createInstanceWithContext(
>                    "com.sun.star.frame.Desktop",ctx)     //error comes
> doc = desktop.loadComponentFromURL("private:factory/swriter", "_blank", 0,
> [])
> doc.getText.setString("Hello Ruby!")
>
> error:
> runo_exception_exception, 0
> #<Uno::Com::Sun::Star::Uno::RuntimeException:
> Uno::Com::Sun::Star::Uno::RuntimeE
> xception>
> t.rb:6:in `method_missing': Uno::Com::Sun::Star::Uno::RuntimeException
> (Uno::Com
> ::Sun::Star::Uno::RuntimeException)
>         from t.rb:6:in `<main>'
> shell returned 1
> :in `method_missing': Uno::Com::Sun::Star::Uno::RuntimeException (Uno::Com
> ::Sun::Star::Uno::RuntimeException)
>         from t.rb:6:in `<main>'
> shell returned 1
>
> The same error as  i met before.
> Oh,what should i do?
>
> -Brick
>
>
> On Thu, Apr 2, 2015 at 2:08 AM, Brick Ma <brickman...@gmail.com> wrote:
>
> > Thanks for your patient and detailed reply,Dennis.
> >
> > You are right.OPTIONAL was replaced by preprocessor.
> > cl /P yields module.i
> > OPTIONAL was disappeard in module.i
> > But i have not found where is #define OPTIONAL .
> > I will search again tomorrow.
> > -brick
> >
> > On Wed, Apr 1, 2015 at 10:56 AM, Dennis E. Hamilton <
> > dennis.hamil...@acm.org> wrote:
> >
> >> You cannot disable the preprocessor.  That will cause *everything* to
> >> fail.
> >>
> >> Some place, there is a
> >>
> >>         #define OPTIONAL <value>
> >>
> >> That you want to work.  It might be in an #include file.  Ideally, it is
> >> in the same file where it is being used, but that may be unlikely.
> >>
> >> You need to find all of the places in the code that uses that header and
> >> uses OPTIONAL and it is not in anything like #ifdef OPTIONAL but some
> usage
> >> where it is clear that a variable or expression form is expected in
> regular
> >> code.  That is likely the one place where you are seeing the failure.
> >>
> >> The clean fix is to change the name in both places.  Most programs are
> >> careful to do this in the first place, to avoid conflicts with other
> usage
> >> of a similar term.
> >>
> >> Because this is an .hdl, it may be more complicated than that.  There
> may
> >> also be failures elsewhere that are undetected because they do not
> cause a
> >> syntax error.
> >>
> >> I am not where I can look right now.  Nose around.  There should be some
> >> related definitions in the same part of the source tree.
> >>
> >>  - Dennis
> >>
> >> -----Original Message-----
> >> From: Brick Ma [mailto:brickman...@gmail.com]
> >> Sent: Monday, March 30, 2015 08:06
> >> To: dev; dennis.hamil...@acm.org
> >> Subject: Re: ruby uno to control openoffice
> >>
> >> But with the same PropertyAttribute.hdl i had built c++ sample
> >> DocumentLoader.cxx,and it works .
> >> How can i disable this feature of pre-processor
> >>
> >> -Brick
> >>
> >> On Sun, Mar 29, 2015 at 11:56 PM, Dennis E. Hamilton <
> >> dennis.hamil...@acm.org> wrote:
> >>
> >> > It appears that OPTIONAL is defined to empty string in a pre-processor
> >> > definition.
> >> >
> >> > This is probably a conflict with use of OPTIONAL as a way of
> controlling
> >> > code inclusion and not as name of a feature in a bit flag [;<).
> >> >
> >> >  - Dennis
> >> >
> >> > -----Original Message-----
> >> > From: Brick Ma [mailto:brickman...@gmail.com]
> >> > Sent: Sunday, March 29, 2015 07:09
> >> > To: dev
> >> > Subject: ruby uno to control openoffice
> >> >
> >> > Hi,All
> >> > There is a runo on github developed by hanya.
> >> >  Ruby-UNO (Ruby-OpenOffice) native bridge.
> >> >
> >> > http://wiki.github.com/hanya/RUNO/
> >> >
> >> > I spend days to build the runo on window 7
> >> >
> >> > with ActiveScriptRuby2.2, openoffice 3.4 and vs2010.
> >> >
> >> > i got this error which i dont understand why .
> >> >
> >> > E:\RUNO-master\include\com/sun/star/beans/PropertyAttribute.hdl(20) :
> >> error
> >> > C2513: 'const short' : no variable declared before '='
> >> >
> >> > but  in PropertyAttribute.hdl the line 20 is as the same style as
> other
> >> > line
> >> >
> >> > static const ::sal_Int16 MAYBEVOID = (sal_Int16)1;
> >> > static const ::sal_Int16 BOUND = (sal_Int16)2;
> >> > static const ::sal_Int16 CONSTRAINED = (sal_Int16)4;
> >> > static const ::sal_Int16 TRANSIENT = (sal_Int16)8;
> >> > static const ::sal_Int16 READONLY = (sal_Int16)16;
> >> > static const ::sal_Int16 MAYBEAMBIGUOUS = (sal_Int16)32;
> >> > static const ::sal_Int16 MAYBEDEFAULT = (sal_Int16)64;
> >> > static const ::sal_Int16 REMOVEABLE = (sal_Int16)128;
> >> > static const ::sal_Int16 REMOVABLE = (sal_Int16)128;
> >> > static const ::sal_Int16 OPTIONAL = (sal_Int16)256;//line 20 error1
> >> >
> >> > I commented line 20 ,build is OK.Then i try to open a docment.But
> error
> >> > comes.
> >> >
> >> > require 'uno'
> >> > data = {'type' => 'socket', 'host' => 'localhost',
> >> >         'port' => 2083, 'protocol' => 'urp'}
> >> > ctx = Uno::Connector.connect(data)
> >> > smgr = ctx.getServiceManager
> >> > desktop = smgr.createInstanceWithContext(
> >> >                    "com.sun.star.frame.Desktop",ctx)//here error2
> comes
> >> out
> >> > doc = desktop.loadComponentFromURL("private:factory/swriter",
> "_blank",
> >> 0,
> >> > [])
> >> > doc.getText.setString("Hello Ruby!")
> >> >
> >> > I really want to make it work.Buy it seems kind of hard for me now.
> >> >
> >> > Did error1 yield error2 or something else wrong.
> >> >
> >> > Any help would be appreciated.
> >> >
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
> >> > For additional commands, e-mail: dev-h...@openoffice.apache.org
> >> >
> >> >
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
> >> For additional commands, e-mail: dev-h...@openoffice.apache.org
> >>
> >>
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
> For additional commands, e-mail: dev-h...@openoffice.apache.org
>
>

Reply via email to