Bonjour,
Je souhaite utiliser une DLL développé en Delphi dans un projet en C# pour Smart Device.
Voici le code de la DLL
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 library Project1; uses SysUtils, Classes, Dialogs; {$R *.res} function Somme(A, B: Integer): Integer; cdecl; begin Result := A + B; end; exports Somme; begin end.
Voici l'appel et l'utilisation de la DLL dans le projet C# pour Smart Device
Lorsque je lance l'application sur le PC de bureau (Win 7) j'ai l'erreur HRESULT 0x8007000B - Tentative de chargement d'un programme de format incorrect. Et quand je lance sur le terminal (Windows CE 6.0) j'ai l'erreur "Can't find PInvoke DLL 'nomdll.dll'"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 [DllImport("Project1.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Winapi, EntryPoint = "Somme")] private static extern int Somme(int a, int b); private void Form1_Load(object sender, EventArgs e) { int t = Somme(1, 5); MessageBox.Show(t.ToString()); //je souhaite vérifier le résultat ! }
J'ai vu sur internet un problème d'incompatibilité 32b/64b ?! J'ai vérifié et la DLL est compilé en 32bits et l'exécutable aussi....
Sincèrement je suis un petit peu perdu.
Je vous remercie d'avance pour votre aide pour solutionner mon problème.
Edit : Quand j'exécute la commande (dans Visual Studio 2008 Command Prompt) : corflags C:\min_chemin\mon_fichier.exe /32BIT+
cela fonctionne sur mon PC.
Par contre toujours la même erreur sur le terminal : "Can't find PInvoke DLL 'nomdll.dll'"
Partager