Frage zu Delphi: DLL import



  • function fnEliza(input: PChar): PChar; cdecl; external 'Eliza.dll' name 'fnEliza';
    
    #ifdef ELIZA_EXPORTS
    #define ELIZA_API __declspec(dllexport)
    #else
    #define ELIZA_API __declspec(dllimport)
    #endif
    
    ELIZA_API const char* fnEliza(const char* input);
    

    Beim starten des delphiprogrammes kommt: Der Prozedureinsprungspunkt "fnEliza" wurde in der DLL "Eliza.dll" nicht gefunden.

    Die DLL ist in dem Verzeichnis des Delphiprogramms.

    Was kann ich tun?



  • Unter C++ gehts:

    #ifdef ELIZA_EXPORTS
    #define ELIZA_API __declspec(dllexport)
    #else
    #define ELIZA_API __declspec(dllimport)
    #endif
    
    ELIZA_API const char* fnEliza(const char* input);
    
    #include <iostream>
    using namespace std;
    int main()
    {
    	cout << fnEliza("hi");
    }
    


  • export "C"



  • lösung schrieb:

    export "C"

    extern "C"


Log in to reply