Bonjour
Actuellment je developpe sous delphi mais là je dois utiliser c# pour un projet.
J ai developpé une DLL en delphi qui ne me pose aucun pb quand je l utilise en delphi. Elle comporte la fonction extractB delcaree ainsi :
ExtractB(T: Integer; Tab: array of double; confiance: double): Integer;; stdcall;
en c# je fais :
1 2
| [DllImport("mydll.dll", CallingConvention = CallingConvention.StdCall)]
static extern int ExtractB(int T, double[] Tab,double confiance); |
pour l utiliser j essai en vain ceci et j ai le message d erreur Un composant externe a levé une exception:
1 2
| double[] tab = { 11.5, 2.5, 3.5, 4.5, 5.5, 6.5 };
int B=ExtractB(3,tab,1.96); |
Donc je me pose plusieurs questions :
Ma declaration est elle correcte ? Je pensais que oui car je ne l eve pas d exception mais je me suis aperçu que quelque soit le nb de parametres que je declare, je n ai pas d exception...
Mon appel est il correct ? En delphi c est ainsi que je procede et je n ai pas d erreur...
Je precise que la dll est dans le rep de l'executable
enfin, s agissant d une dll developpee en delphi,y a t il un protocole particulier à respecter. J ai cherché mais rien trouvé sinon qu il fallait que les infos de version soient inclues, ce qui est le cas avec l attribut du module 'dll', je ne sais pas si c est utile ...
Merci de votre aide et conseils...
stephane
Partager