Comment déclarer une fonction de type void* ?

posée 2020-06-22 17:36:41 +0200

Image Gravatar de LGU

updated 2020-06-23 10:49:20 +0200

OS : Windows 10 Professionnel (x64) LibreOffice : 6.3.6.2 (x64) Macro : BASIC

Bonjour,

Je souhaite utiliser la fonction d'une DLL qui retourne un void* du langage C.

Dans ma macro BASIC, j'ai déclaré ma fonction avec les types Any, Variant et Object à la place du void*.

L'exécution du code génère alors le message : "Erreur lors du chargement du fichier DLL". J'ai essayé de passer à la version 32-bits de LibreOffice et d'utiliser la version 32-bit de la DLL, mais en vain.

Cela fait plus d'une semaine que je cherche, mais je ne vois pas de solution. Il semblerait que ce type ne soit pas "mappé" pour le BASIC.

Existe-t-il un contournement ?

Merci d'avance pour vos retours/suggestions

éditer requalifier signaler fermer fusionner supprimer

Commentaires

Bonjour @LGU

Je n'ai pas eu à utiliser ce type d'instruction. Je sais que le livre de B. Marcelly et L. Godard Programmation OpenOffice chez Eyrolles comprend une partie sur l'appel des DLL windows. Je pense qu'on peut trouver l'extrait en ligne, quoique mon conseil serait d'acquérir cet ouvrage...

Cordialement

Image Gravatar de pierre-yves samynpierre-yves samyn ( 2020-06-23 11:08:44 +0200 )éditer

Bonjour @pierre-yves samyn, Merci pour cette réponse rapide et pour la référence de ce bel ouvrage sur la programmation OpenOffice/LibreOffice/Macros. J'ai lu le passage sur l'appel de DLL, mais cela ne m'a pas permis de résoudre mon problème. Je vais continuer à creuser. Si je trouve une solution, je la posterai. Bien cordialement

Image Gravatar de LGULGU ( 2020-06-23 15:21:52 +0200 )éditer