bonjour tout le monde,
j'ai un E-NO-RME problèmeet 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 :
et mon .cpp :
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); }; }
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.
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; } }
Puis j'ai créé un nouveau projet avec visual basic pour utiliser cette dll :
j'ai essayé en copiant le .dll crée précédemment dans mon répertoire du projet vb.
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
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![]()
Partager