Bonjour à tous !!!
j'ai developpé un algorythme de hashage en c++ que j'ai testé directement depuis devcpp et ça fonctionne.
Je l'ai mis en dll et je l'ai compilé, aucun problème.
Je crée une interface en delphi dans lequel j'apelle ma dll crée en c++ et le problème est que j'ai une erreur lorsque que j'apelle la fonction de la dll.
j'obtient le message (violation d'accès dans hash.dll).
Je pense que le problème doit venir d'une compatibilité des string en c++ et delphi.
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 code de la dll #include <cstdlib> #include <iostream> #include <string> #include <sstream> #define EXPORT extern "C" __declspec(dllexport) ........ EXPORT std::string hash(string nom, string taille) { ......... std::ostringstream retour; retour << std::hex << h[0] << h[1] << h[2] << h[3] << h[4]; return retour.str(); }merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 le code en delphi function hash(nom: string; taille: string):Pansichar; stdcall; external 'hash.dll' name 'hash'; var Form1: TForm1; implementation {$R *.dfm} {APP CONSOLE} procedure TForm1.Button1Click(Sender: TObject); begin resultat.Text:= hash(fichier_texte.Text, taille_texte.Text); end;![]()
Partager