Bonjour le forum,
Voilà mon problème (je suis nul en C, histoire de vous prévenir :-) :
J'ai par exemple la fonction C suivante (je génère la DLL correspondante, nommons la "MaDLL.dll"):
extern "C" __declspec(dllexport) long __stdcall vbaGetValues(double **theValue);
Je veux récupérer les valeurs de 'theValue' (qui est une output) en VBA. J'ai déclaré ma fonction VBA comme suit :
Public Declare Function GetValues Lib "MaDLL.dll" Alias "alias_qui_@va_bien" (ByRef theValue As Double) As Long
Est-ce que cette déclaration en VBA est bonne ?
Comment dois-je appeler ma fonction pour récupérer les valeurs en VBA ?
Est-ce que je dois modifier le code C de ma fonction (retraiter le double ** en autre chose, SAFEARRAY, memcpy, ...) ?
L'idéal serait de m'envoyer un petit exemple de modification, si vous avez la possibilité (j'y connais rien en pointeurs, adresses, valeurs, ...).
Ma config :
Microsoft Visual Studio 2005 Pro
VB 6.0 dans Excel.
S'il vous manque des infos, n'hésitez pas...
Merci pour votre aide précieuse.
Le Dahu.