bonjour tout le monde,

j'ai un E-NO-RME problème et j'espère que vous pourrez m'aider.

Voilà, j'essaie de creer une DLL avec visual c++ pour pouvoir l'utiliser sur visual basic. Seulement j'ai une erreur lors de l'exécution de mon programme visual basic.
J'ai commencé par faire un .h et .cpp avec visual c++ comme ceci :

voilà pour mon .h :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
// fonctionsJPEG.h
 
namespace fonctionsJPEG
{
    class mesFonctionsJPEG
    {
    public:
        // fonction qui ajoute 20 à chaque pixel sauf s'il est supérieur a 234
        static __declspec(dllexport) int addVingt(int);
    };
}
et mon .cpp :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "fonctionsJPEG.h"
 
#include <stdexcept>
 
using namespace std;
 
namespace fonctionsJPEG
{
    int mesFonctionsJPEG::addVingt(int a)
    {
		return a+20;
    }
}
Ensuite j'ai fais "générer la solution" et apparemment il m'a bien créé le .dll dans le dossier "debug" de mon projet.

Puis j'ai créé un nouveau projet avec visual basic pour utiliser cette dll :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Public Class Form1
 
    Public Declare Function addVingt Lib "jpegDLL.dll" (ByVal lala As Integer) As Integer
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim monImage As Bitmap
        Dim monEntier As Integer
        Dim monTableau As ArrayList = New ArrayList
 
        monImage = New Bitmap("C:\Users\Thomas\Downloads\projetCPPVB\projetJPEG\projetJPEG\monJPEG.jpg")
 
        For i = 0 To monImage.Width - 1
            For j = 0 To monImage.Height - 1
                monTableau.Add(monImage.GetPixel(i, j).R)
                monTableau.Add(monImage.GetPixel(i, j).G)
                monTableau.Add(monImage.GetPixel(i, j).B)
            Next
        Next
 
        monEntier = monTableau(0)
        MsgBox(monEntier)
        addVingt(monEntier)
        MsgBox(monEntier)
 
    End Sub
 
End Class
j'ai essayé en copiant le .dll crée précédemment dans mon répertoire du projet vb.

je ne sais trop quoi faire

merci d'avance si vous pouvez m'aider et si vous avez besoin de plus de précision je suis tout ouïe