mergedlo.dll

Bonjour,
Je développe une interface en cpp pour piloter libreoffice (7.x.x) depuis notre logiciel.
J’ai deux problèmes:

  1. Mon programme s’arrête car il ne trouve pas la mergedlo.dll

Quand je profile avec PROCMON , il semble qu’il recherche cette dll à la racine du lecteur.
Par exemple, si libreoffice est installé sur c:\program files\libreoffice , la dll est recherchée sur c:
si libreoffice est installé sur e:\libreoffice , la dll est recherchée sur e:
Par contre il trouve bien les dll du sdk cppu3.dll,sal3.dll
2. Si je contourne le point 1 mon programme crash

Si je copie mergedlo.dll à l’emplacement attendu, mon programme fonctionne jusqu’à la fonction rComponentLoader->loadComponentFromURL qui crash le programme.( rCompoentLoader semble valide).
Je ne trouve pas l’erreur et je ne sais pas si cela peut être lié au fait que j’ai contourné le 1).

Pour développer mon programme j’ai utilisé cppumaker pour générer les headers cpp , je compile sous visual studio 2015 sans soucis. Je n’ai vu nulle part que je devais configurer autre chose (path) .

Merci de votre aide .

Gilles.

Bonjour

Je n’ai pas d’expérience de pilotage via cpp (uniquement en java, sans rencontrer ce problème). Toutefois une recherche sur notre instance anglophone donne ce résultat où le problème venait d’un conflit 32/64 bits.

Sinon, pour info. (mais tu les connais peut-être déjà) notre site api comprend des exemples.

Cordialement

Bonjour Pierre-Yves,

Merci pour ces informations. Oui j’ai vu ce lien mais mon programme ne démarre pas si je n’utilise pas la bonne version de libreoffice (32/64) et j’ai le même problème dans les deux version (32/64) de mon programme, et la dll est bien présente sur le poste.

Nous avons également développé une interface JAVA (servlet) pour piloter libreOffice depuis notre serveur web Tomcat, avec beaucoup plus de facilité…

Mais cette fois-ci j’ai besoin de piloter libreOffice sur le poste client, et nous voulons pas imposer l’installation/utilisation de JAVA sur le poste client donc je me tourne vers cpp qui me semble demander moins de dépendances que .NET/COM etc.

Encore merci.

@matgho33 ok, merci pour le retour. Du coup mon conseil serait de poster sur l’instance anglophone où il y aura sans doute plus de chance d’avoir un avis…

ok thank you for the advice.:slight_smile:

Bonjour,

J’ai résolu mes problèmes , en déclarant la variable d’environnement URE_BOOTSTRAP=file:///D:/Software/…/program/fundamental.ini.

Si vous ne déclarez pas cette variable globalement,il faut la déclarer (set) avant de lancer le processus soffice et avant de lancer le programme en cpp .
Pour le programme en cpp vous pouvez la déclarer dans un fichier qui porte le nom de votre programme avec une extension ini (prog.ini pour prog.exe). Le fichier doit être au format :
[Bootstrap]
URE_BOOTSTRAP=file:///D:/…/fundamental.ini

@matgho33 bravo, bonne nouvelle… et merci pour le partage :slight_smile: