Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1322 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  DLL Visual C++ 2005 Express to VBA Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

DLL Visual C++ 2005 Express to VBA Excel

n°1555586
andrea13ne​w
Posté le 04-05-2007 à 22:44:56  profilanswer
 

Salut,  
J'aimerais créer une DLL .Net et la compiler avec Visual C++ 2005 Express, car je crois qu'on ne peut pas créer avec ce compilateur de DLLs classiques Win32.  
Comment procéder ?  
 
voici ce que j'ai fait:  
 
J'ai créé un nouveau projet:  
-CLR  
-Class Library  
 
Je l'ai appelé test.  
 
J'aimerais exporter une fonction qui prends un double et qui renvoit ce double +1 (par exemple).  
 
J'ajoute donc dans le fichier test.h la déclaration de ma fonction:  
 
 
 
Code :
 
// test.h  
 

Code :
  1. #pragma once
  2. using namespace System;
  3. _declspec(dllexport) double _stdcall fct ();
  4. namespace test {
  5. public ref class Class1
  6. {
  7.  // TODO: Add your methods for this class here.
  8. };
  9. }


 
J'ajoute dans le fichier test.cpp la définition de ma fonction:  
 
 
 
Code :
 

Code :
  1. //test.cpp
  2. // This is the main DLL file.
  3. #include "stdafx.h"
  4. #include "test.h"
  5. _declspec(dllexport) double _stdcall fct (){
  6. return 1;
  7. }


 
Je compile...
 
 
Ceci me crée un fichier test.dll, ma dll...  
 
Je crée un projet sous VBA, avec un module contenant:  
 
 
Public Declare Function DLLfonction Lib "D:\Visual Studio 2005\Projects\test\debug\test.dll" Alias "fct" (ByVal x As Double) As Double  
 
 
Sub dlltest()  
 
Dim x As Double  
x = 1  
Cells(1, 1) = DLLfonction(1)  
 
End Sub  
 
Je crée un bouton de commande qui lance ma dll depuis la feuille excel.  
 
-> message d'erreur:  
 
Erreur d'exécution '453':  
 
Point d'entrée fct d'une DLL introuvable dans D:\Visual Studio 2005\Projects\test\debug\test.dll.


Message édité par andrea13new le 04-05-2007 à 22:47:00
mood
Publicité
Posté le 04-05-2007 à 22:44:56  profilanswer
 

n°1555587
andrea13ne​w
Posté le 04-05-2007 à 22:47:35  profilanswer
 


 :sweat:

n°1556474
archangel
Un homme Une vision
Posté le 07-05-2007 à 14:01:46  profilanswer
 

Si je me souviens bien, tu dois avoir, dans ton projet C++, un fichier dans lequel tu déclares les points d'entrée de ta DLL. Il me semble que c'est un fichier qqch.def.
J'avais trouvé toutes ces infos en cherchant dans google comment faire pour créer une DLL et l'appeler depuis VBA. Il me semble que j'avais trouvé un tuto sur developpez.com.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  DLL Visual C++ 2005 Express to VBA Excel

 

Sujets relatifs
xml et excelAppel d'une librairie à partir de VBA
Execution SQL sous VBA[resolu] [VBA] Cacher check box sous conditions
MAJ base de données sur excelDLL Visual C++ 2005 To VBA-Excel
recherche d une valeur et copie sous excel[Résolu] Exécution de Visual Studio lors de crash des applis ?!
Plus de sujets relatifs à : DLL Visual C++ 2005 Express to VBA Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR