Salut à tous,
j'ai créé un programme en C++ qui tourne très bien en console alors j'ai décidé de créer une interface avec VB et j'ai passer ce programme en DLL mais je connais pas grand chose à VB donc j'ai fait quelque recherche pour savoir comment appeller une DLL
sous VB je declare donc ma fonction comme ceci
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 Public Declare Function DemoPC Lib "Ma_DLL.dll" (ByVal AgeP#, ByVal Taillen#, ByVal Poidsn#, ByVal hum%, ByVal Vet(,) As Double) As Double Private Sub Calculer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Calculer.Click Dim AgeP# Dim Taillen# Dim Poidsn# Dim hum% AgeP = Ag.Value Taillen = Taille.Value Poidsn = Poids.Value hum = HR.Value Ta.Text = DemoPCPretherm(AgeP, Taillen, Poidsn, hum, Vet) End Sub End Class
et dans la DLL:
Le programme se lance bien, je rentre les valeurs à saisir dans les cases appropriés et quand je clique sur calculer, se qui appel un fonction de la DLL qui doit me renvoyer un resultat j'ai un message qui s'affiche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 extern "C++" __declspec(dllexport) double DemoPC(double Ag,double Taillen,double poids, int hum) { //... }
et si je clique sur ignorer:Debug Assertion Failed
Program:...
File:C:\program files\microsoft visual studio8\vc\include\vector
Line:756
Expression: vector subscript out of range
Debug Assertion Failed
Program:...
File:C:\program files\microsoft visual studio8\vc\include\vector
Line:757
Expression"Standard C++ libraries Out of Range",0)
sa fait 2 jour que je cherche une solution, j'ai vérifié mon programme mais je vois pas de quoi sa vient
peut être un problème de compatibilité?
Partager