La question a déjà été posé dans les news mais je n'ai pas encore trouvé mon bonheur
Je veux utiliser une dll créée par gcc sous cygwin depuis excel je créee la dll avec __stdcall et __declspec(dllexport) gcc --shared dll.o -o dll.dll
Et sous VB
Declare Function jeanpaul Lib "dll" Alias "" (x As Single) As Single
Dans la pratique, ca marche pas sous excel (VALEUR)
Si quelqu'un a une solution magique ?
Ecrire un wrapper C++ qui: - soit l'expose depuis une autre DLL qui elle fonctionne - soit l'expose comme ActiveX
Rémi
-- Rémi Thomas - MVP Visual Studio .NET Développeur Windows indépendant http://www.xtware.com/cv
manuelleclerc
[ j'ai essayé de répondre par mail à l'adresse despamée, mais le monsieur n'a pas l'air de relever son courrier ]
Non Compos Mentis a écrit :
Je veux utiliser une dll créée par gcc sous cygwin depuis excel je créee la dll avec __stdcall et __declspec(dllexport) gcc --shared dll.o -o dll.dll
Et sous VB
Declare Function jeanpaul Lib "dll" Alias "" (x As Single) As Single
Dans la pratique, ca marche pas sous excel (VALEUR)
Si quelqu'un a une solution magique ?
Essaye d'utiliser sous VB l'API Win32 LoadLibrary, puis l'API GetProcAddress. Avec l'API GetLastError, tu sauras pour quelle raison les APIs échouent. Peut être ta DLL n'est-elle pas chargeable par le processus Excel là où elle est (problème de path). Peut être as-tu un problème de "décoration" du nom de la fonction.
Télécharge un outils d'analyse de DLL. Pax exemple, sur http://www.dependencywalker.com/ Avec un outils de ce genre, tu sauras comment le nom de ta fonction exportée a peut être été "décoré" par gcc.
Simple curiosité :-) pourquoi veux-tu charger une DLL à toi, depuis VB, dans Excel. As-tu entendu parler de "fonction.appelante" ?
manuel leclerc -- <morganj> 0 is false and 1 is true, correct? <alec_eso> 1, morganj <morganj> bastard.
[ j'ai essayé de répondre par mail à l'adresse despamée,
mais le monsieur n'a pas l'air de relever son courrier ]
Non Compos Mentis a écrit :
Je veux utiliser une dll créée par gcc sous cygwin depuis excel
je créee la dll avec __stdcall et __declspec(dllexport)
gcc --shared dll.o -o dll.dll
Et sous VB
Declare Function jeanpaul Lib "dll" Alias "tof@4" (x As Single) As
Single
Dans la pratique, ca marche pas sous excel (VALEUR)
Si quelqu'un a une solution magique ?
Essaye d'utiliser sous VB l'API Win32 LoadLibrary, puis
l'API GetProcAddress. Avec l'API GetLastError, tu sauras
pour quelle raison les APIs échouent. Peut être ta DLL
n'est-elle pas chargeable par le processus Excel là où elle
est (problème de path). Peut être as-tu un problème de
"décoration" du nom de la fonction.
Télécharge un outils d'analyse de DLL. Pax exemple, sur
http://www.dependencywalker.com/
Avec un outils de ce genre, tu sauras comment le nom de
ta fonction exportée a peut être été "décoré" par gcc.
Simple curiosité :-) pourquoi veux-tu charger une DLL à
toi, depuis VB, dans Excel. As-tu entendu parler de
"fonction.appelante" ?
manuel leclerc
--
<morganj> 0 is false and 1 is true, correct?
<alec_eso> 1, morganj
<morganj> bastard.
[ j'ai essayé de répondre par mail à l'adresse despamée, mais le monsieur n'a pas l'air de relever son courrier ]
Non Compos Mentis a écrit :
Je veux utiliser une dll créée par gcc sous cygwin depuis excel je créee la dll avec __stdcall et __declspec(dllexport) gcc --shared dll.o -o dll.dll
Et sous VB
Declare Function jeanpaul Lib "dll" Alias "" (x As Single) As Single
Dans la pratique, ca marche pas sous excel (VALEUR)
Si quelqu'un a une solution magique ?
Essaye d'utiliser sous VB l'API Win32 LoadLibrary, puis l'API GetProcAddress. Avec l'API GetLastError, tu sauras pour quelle raison les APIs échouent. Peut être ta DLL n'est-elle pas chargeable par le processus Excel là où elle est (problème de path). Peut être as-tu un problème de "décoration" du nom de la fonction.
Télécharge un outils d'analyse de DLL. Pax exemple, sur http://www.dependencywalker.com/ Avec un outils de ce genre, tu sauras comment le nom de ta fonction exportée a peut être été "décoré" par gcc.
Simple curiosité :-) pourquoi veux-tu charger une DLL à toi, depuis VB, dans Excel. As-tu entendu parler de "fonction.appelante" ?
manuel leclerc -- <morganj> 0 is false and 1 is true, correct? <alec_eso> 1, morganj <morganj> bastard.