I have trouble calling a java macro with parameters, i.e. I don't understand what to put in the call of XScript.execute().
In the attached file, I have embedded a java class with two scripts, one with parameters and the other without.
The java code is really simple :
Code: Select all
import com.sun.star.script.provider.XScriptContext;
public class MacroJava {
public static int getArgsCount(XScriptContext xScriptContext, Object[] args) {
return args.length;
}
public static String getMessage(XScriptContext xScriptContext) {
return "Appel OK de la macro java";
}
}The call is successful for the java macro getMessage(), but fails for getArgsCount(). Obviously, the script manager cannot match the method signature.
I have tried many configurations for the 3 parameters of the call XScrip.invoke() without success.
I woul be grateful if somebody could give me a clue.
The parcel-descriptor is :
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<parcel language="Java" xmlns:parcel="scripting.dtd">
<script language="Java">
<locale lang="fr">
<displayname value="getArgsCount"/>
<description>
macro java getArgsCount (avec paramètres)
</description>
</locale>
<functionname value="MacroJava.getArgsCount"/>
<logicalname value="MacroJava.getArgsCount"/>
<languagedepprops>
<prop name="classpath" value="TestMacroJava.jar"/>
</languagedepprops>
</script>
<script language="Java">
<locale lang="fr">
<displayname value="getMessage"/>
<description>
macro java getMessage (sans paramètres)
</description>
</locale>
<functionname value="MacroJava.getMessage"/>
<logicalname value="MacroJava.getMessage"/>
<languagedepprops>
<prop name="classpath" value="TestMacroJava.jar"/>
</languagedepprops>
</script>
</parcel>Sincerely
Cormic