Re: Running an ImageJ macro in a java plugin

Posted by Avital Steinberg on
URL: http://imagej.273.s1.nabble.com/Running-an-ImageJ-macro-in-a-java-plugin-tp5010403p5010408.html

Thank you - I succeeded in passing an argument to the macro like this:

String simpleMacro =
                //"String XdotY=getArgument();" +
                "greeting = getArgument();"+
                "print(greeting);";

                IJ.runMacro(simpleMacro,"hi");

But I still have a problem - I am unable to use a return statement. For
example, this doesn't work:

String simpleMacro2 =
               //"String XdotY=getArgument();" +
               "greeting = getArgument();"+
               "return(greeting);";

                String hello = IJ.runMacro(simpleMacro2,"hi");
                IJ.log(hello);

I don't get any output - I get an error message saying: "invalid context".

Thanks,
Avital



On Thu, Nov 13, 2014 at 4:09 PM, Ben Tupper <[hidden email]> wrote:

> On Nov 13, 2014, at 6:57 AM, Avital Steinberg <[hidden email]>
> wrote:
>
> > Hi,
> > I am trying to run an ImageJ macro in a java plugin using IJ.runMacro. I
> > would like to understand how to pass the macro a string argument. The
> > following code doesn't work:
> >
> > String simpleMacro =
> >    "String greeting = getArgument();"+
> >    "print(greeting);";
> >
> > IJ.runMacro(simpleMacro,"hi");
> >
> > What am I doing wrong? How can I pass the macro the string argument "hi"
> > and get the macro to print it?
> >
>
> Hi,
>
> I think that your simpleMacro needs to point to the file where the macro
> is stored.  That said, it is an interesting idea to construct macros on the
> fly to run from a script/plugin.  Anyway, the details can be found here...
>
>
> http://rsb.info.nih.gov/ij/developer/api/ij/IJ.html#runMacro(java.lang.String,%20java.lang.String)
>
>
> Cheers,
> Ben
>
>
> > Thank you,
> > Avital
> >
> > --
> > ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html