J'ai besoin d'appeler des macros écrites en Java depuis une fonction Basic, et je n'arrive pas à faire des appels avec passage de paramètres.
Dans le fichier ci-joint, j'ai embarqué deux macros java élémentaires. L'une qui n'attend pas de paramètres, et que j'arrive à appeler correctement. L'autre avec des paramètres, que je n'arrive pas à appeler.
Le code des macros est simplissime :
Code : Tout sélectionner
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";
}
}Dans le module Standard.Module1 du fichier, j'ai aussi ajouté une fonction TestMacroBasic (à lancer directement depuis l'éditeur Basic), qui montre que l'appel avec passage de paramètres fonctionne pour un appel de macro Basic.
J'espère que quelqu'un pourra m'éclairer là-dessus. J'ai déjà publié la question sur le site anglais, mais sans obtenir de solution.
Je travaille sur une machine Windows10 Pro 64bits, avec un LibreOffice 24.2.5.2
Pour info, le parcel-descriptor ajouté dans le fichier ODT est :
Code : Tout sélectionner
<?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>


