Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation d'une dll cpp builder

3 réponses
Avatar
alexo
je souhaiterais utiliser une dll cppbuilder (c++) dans un code source
csharp(c#)

le problème est que je n'ai trouvé aucun exemple complet de code source c++
builder?
tous les exemples que j'ai son avec une MFC

L'erreur que j'ai avec la dll cpp et le code csharp que j'ai faite est ceci

Erreur: System.EntryPointNotFoundException: Impossible de trouver le point
d'entrée GetCPUType dans la DLL Project2.dll. at
_3wCoaxis.SysInfo.GetCPUType() at _3wCoaxis.SysInfo.getTest() in
d:\inetpub\wwwroot\testdll\sysinfo.cs:line 34
erreur récupérée grace à SetLastError
erreur détectée : Error code: -2147467259 Error message: Opération réussie

la méthode est très simple char* mymethod(LPStr) ou LPStr mymethod(LPStr)

est ce que je dois mettre quelque chose de spécial au niveau de DllImport ...

3 réponses

Avatar
Paul Bacelar
Le message est clair, il n'a pas trouvé de fonction ayant le nom
"GetCPUType" dans la dll "Project2.dll".

Maintenant il nous reste que le pourquoi. Et le plus évident est de vérifier
avec "depends", qui liste les points d'entrée des dll, que la fonction
existe bien dans la dll , qu'elle est accessible de l'extérieur, et aussi
que son nom de fonction n'ai pas subi une décoration quelconque comme celle
du C++.

DllImport utilise les conventions de nommage C, pas C++ puisqu'elles ne
sont pas standardisées.

Si vous connaissez le C++, la directive Extern "C"{} ne doit pas vous être
inconnu ;-)

Pouvez-vous nous indiquer le nom complet donné par "depends" de la fonction
que vous voulez appeler.
--
Paul Bacelar


"alexo" wrote in message
news:
je souhaiterais utiliser une dll cppbuilder (c++) dans un code source
csharp(c#)

le problème est que je n'ai trouvé aucun exemple complet de code source


c++
builder?
tous les exemples que j'ai son avec une MFC

L'erreur que j'ai avec la dll cpp et le code csharp que j'ai faite est


ceci

Erreur: System.EntryPointNotFoundException: Impossible de trouver le point
d'entrée GetCPUType dans la DLL Project2.dll. at
_3wCoaxis.SysInfo.GetCPUType() at _3wCoaxis.SysInfo.getTest() in
d:inetpubwwwroottestdllsysinfo.cs:line 34
erreur récupérée grace à SetLastError
erreur détectée : Error code: -2147467259 Error message: Opération réussie

la méthode est très simple char* mymethod(LPStr) ou LPStr mymethod(LPStr)

est ce que je dois mettre quelque chose de spécial au niveau de DllImport


...
Avatar
alexo47
tout d'abord merci.

J'ai lancé "depends" comme indiqué et le nom exact est "getCPUType"

le directive Extern "C"{} y est bien .

"Paul Bacelar" wrote in message news:...
Le message est clair, il n'a pas trouvé de fonction ayant le nom
"GetCPUType" dans la dll "Project2.dll".

Maintenant il nous reste que le pourquoi. Et le plus évident est de vérifier
avec "depends", qui liste les points d'entrée des dll, que la fonction
existe bien dans la dll , qu'elle est accessible de l'extérieur, et aussi
que son nom de fonction n'ai pas subi une décoration quelconque comme celle
du C++.

DllImport utilise les conventions de nommage C, pas C++ puisqu'elles ne
sont pas standardisées.

Si vous connaissez le C++, la directive Extern "C"{} ne doit pas vous être
inconnu ;-)

Pouvez-vous nous indiquer le nom complet donné par "depends" de la fonction
que vous voulez appeler.
--
Paul Bacelar




Avatar
alexo
Merci bien erreur bête!

Javais d'autres dll qui fonctionnaient pas mais avec depends cela aide
quand même .

"Paul Bacelar" a écrit :

Le message est clair, il n'a pas trouvé de fonction ayant le nom
"GetCPUType" dans la dll "Project2.dll".

Maintenant il nous reste que le pourquoi. Et le plus évident est de vérifier
avec "depends", qui liste les points d'entrée des dll, que la fonction
existe bien dans la dll , qu'elle est accessible de l'extérieur, et aussi
que son nom de fonction n'ai pas subi une décoration quelconque comme celle
du C++.

DllImport utilise les conventions de nommage C, pas C++ puisqu'elles ne
sont pas standardisées.

Si vous connaissez le C++, la directive Extern "C"{} ne doit pas vous être
inconnu ;-)

Pouvez-vous nous indiquer le nom complet donné par "depends" de la fonction
que vous voulez appeler.
--
Paul Bacelar


"alexo" wrote in message
news:
> je souhaiterais utiliser une dll cppbuilder (c++) dans un code source
> csharp(c#)
>
> le problème est que je n'ai trouvé aucun exemple complet de code source
c++
> builder?
> tous les exemples que j'ai son avec une MFC
>
> L'erreur que j'ai avec la dll cpp et le code csharp que j'ai faite est
ceci
>
> Erreur: System.EntryPointNotFoundException: Impossible de trouver le point
> d'entrée GetCPUType dans la DLL Project2.dll. at
> _3wCoaxis.SysInfo.GetCPUType() at _3wCoaxis.SysInfo.getTest() in
> d:inetpubwwwroottestdllsysinfo.cs:line 34
> erreur récupérée grace à SetLastError
> erreur détectée : Error code: -2147467259 Error message: Opération réussie
>
> la méthode est très simple char* mymethod(LPStr) ou LPStr mymethod(LPStr)
>
> est ce que je dois mettre quelque chose de spécial au niveau de DllImport
....