J'ai besoin d'appeler la méthode C # à partir du script JMP. Veuillez guider<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai hâte d'appeler la méthode c# de JMP. J'ai essayé d'utiliser la fonction LoadDll. Mais ça ne fonctionne pas. Veuillez guider à ce sujet. ci-dessous est le code
dll = Charger DLL("C:/Chap23/SampleJMPCall.dll");
dll << FonctionDeclare(
"EcrireFichier",
Alias( "Tester" ),
Arg( ChaîneUnicode, "chaîne" ),
Renvoie ( Int32 )
);
result = dll << Test("Voici un message de JMP.");
Afficher le résultat);
dll << UnLoadDLL;
Re : J'ai besoin d'appeler la méthode C # à partir du script JMP. Veuillez guiderPour des problèmes comme celui-ci, votre meilleur pari est d'exécuter "dumpbin -exports nom-dll " sur la DLL dans laquelle vous essayez d'appeler des fonctions et assurez-vous que la fonction existe et porte le nom que vous pensez qu'elle porte (le nom n'est pas décoré, etc.). dumpbin.exe fait partie de Visual C++.Il peut y avoir d'autres outils qui peuvent répertorier les exportations d'une dll, je ne sais pas.
HTH,
Éric
Re : J'ai besoin d'appeler la méthode C # à partir du script JMP. Veuillez guiderJ'ai également commencé à obtenir la même erreur lors de la déclaration de la fonction.
Dans le script suivant, erreur marquée par /*###*/
dll_obj << DéclarerFonction(
"EcrireFichier",
Convention( STDCALL ),
Alias( "Tester" ),
Arg( ChaîneUnicode, "chaîne" ),
Renvoie ( Int32 )
) /*###*/
une idée à ce sujet. Plus tôt, j'obtenais l'erreur - Erreur d'initialisation de la fonction " ÉcrireFichier ". La procédure spécifiée est introuvable. .
Veuillez suggérer.
Re : J'ai besoin d'appeler la méthode C # à partir du script JMP. Veuillez guiderMalheureusement, l'interface d'appel DLL dans JMP ne prend pas en charge les fonctions d'appel dans le code managé (assemblys).Il ne peut appeler que des fonctions de code natif exportées par des DLL de code natif.
Re : J'ai besoin d'appeler la méthode C # à partir du script JMP. Veuillez guiderJ'ai le même problème... Quelqu'un peut-il nous aider à nous orienter dans la bonne direction ?
charger DLL fonctionne bien (aucune erreur écrite dans le journal), mais je obtenir une erreur lors de la tentative de déclaration .
le nom de la fonction dans la DLL que j'essaie de déclarer est "lookUp()":
dll_obj << DéclarerFonction(
"chercher",
Convention( STDCALL ),
Alias("LU"),
Arg(AnsiString, "NW"),
Renvoie ( Int32 ),
);
J'obtiens l'erreur suivante :
Erreur lors de l'initialisation de la fonction "lookUp". La procédure spécifiée est introuvable.
dans l'accès ou l'évaluation de 'DeclareFunction' , Bad Argument( "lookUp" ), DeclareFunction(
"chercher",
Convention( STDCALL ),
Alias( "LU" ),
Arg( AnsiString, "NW" ),
Renvoie ( Int32 )
)
Dans le script suivant, erreur marquée par /*###*/
dll_obj << DéclarerFonction(
"chercher",
Convention( STDCALL ),
Alias( "LU" ),
Arg( AnsiString, "NW" ),
Renvoie ( Int32 )
) /*###*/
Toute aide est grandement appréciée!Merci d'avance