Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    décembre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 32
    Points : 1
    Points
    1

    Par défaut Utilisation DLL C++/C avec PowerBuilder

    Bonjour à tous,

    je voulais juste Runner un simple exemple de PowerBuilder qui utilise une fonction externe provenant d'une DLL

    en faite j'ai créer un un projet "Dynamic Link Library" avec CodeBloks dans lequel j'ai placé mon fichier "main.cpp" contenant le code C++ est le suivant :


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //main.cpp
    #include <windows.h>
    
    extern "C" __declspec(dllexport) __stdcall int add(int a,int b);
    
    extern "C" __declspec(dllexport) __stdcall int add(int a,int b)
    {
    	return a+b;
    }
    ensuite j'ai fais un build ; alors 3 fichiers ont été générés :"mydll.dll" , "libmydll.dll.def" et "libmydll.dll.a"

    j'ai mis ces 3 fichiers sous le répertoire contenant mon projet PB.

    j'ai créer ensuite un userobject uo_decoder dans lequel j'ai déclaré le Local External Function suivante :

    Code :
    FUNCTION integer somme(integer a,integer b) LIBRARY "mydll.dll" ALIAS FOR "add"
    ensuite à partir de ma window PB j'ai tapé ce bout de code qui s'exécute lors du click du bouton "Tester_Dll" :

    Code :
    1
    2
    3
    uo_decoder decoder
    decoder = create uo_decoder
    MessageBox("Calcul Somme",string(decoder .somme(10,20)))
    mais malheureusement un message d'erreur s'affiche :

    Erreur Systeme : Error calling External Function add at line...


    SVP Veuillez m'aider à faire marcher cet exemple

    Merci

  2. #2
    Invité(e)
    Invité(e)

    Par défaut de souvenir

    de souvenir je crois qu'il faut que tu utilises son alias " ADD"

    j'en suis pas tres sur.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •