dll visual C++ dans visual basic
bonjour tout le monde,
j'ai un E-NO-RME problème :cry: 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:
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:
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:
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 :)