Prozedureinsprungspunkt "GetModuleHandleA" wurde nicht gefunden



  • Hmm,wieder kein Code 😞 !
    Ich habe mal die Kristallkugel angeworfen und frage mal ganz dumm ob du ne DllMain Funktion hast!??



  • Ja hab ich... liefert true zurück.
    Was macht denn diese Funktion? ( GetModuleHandleA )



  • GetModuleHandle gibt dir das Handle des Moduls, in einem Windows-Programm also ein Handle (HINSTANCE) der Anwendung.

    cya 🙂



  • ...aber nen bisschen Code wäre trotzdem nicht schlecht. Im Moment ist das hier wie in einer riesigen Lagerhalle, in der das Licht aus ist und irgendwo ne Stecknadel auf dem Boden liegt, die man finden soll 😃



  • @geeky: Ein hoch auf den Metalldetektor ;).

    cya 🙂



  • Also ich habe eine Testanwendung für die Dll geschrieben...

    Da scheint kein Fehler vorzuliegen:
    und ja ich habe die lib-Datei bei den Linkeroptionen eingetragen... 🙂

    #include "stdafx.h"
    int main(int argc, char* argv[])
    {
        char test[1024];
        printf( "Input String: " );
        gets( test );
        printf( "\n\n " );
        ckonto(test);
        gets( test );
        return 0;
    }
    

    stdafx.h:

    #pragma once
    #include "ckonto_dll.h"
    #include <stdio.h>
    #include <tchar.h>
    

    tja und dann noch die ckonto_dll.h:

    #pragma once
    #include <windows.h>
    
    #ifdef __cplusplus
    #define IMPORT extern "C" __declspec (dllimport)
    #else
    #define IMPORT __declspec (dllimport)
    #endif
    
    /******************** Funktionsprototypen ********************/
    IMPORT int ckonto(char*);
    IMPORT BOOL WINAPI DllMain(HINSTANCE, DWORD, LPVOID);
    

    Ist da was falsch? Sonst muss der Fehler in der Dll stecken... die habe ich nähmlich nicht mit vc++.net sondern mit dem lcc-win compiler erstellt... ( mich deucht ich hab ihn net nicht richtig eingestellt 😕 )

    [ Dieser Beitrag wurde am 16.02.2003 um 17:50 Uhr von particle editiert. ]



  • DllMain brauchst du nicht zu importieren,die wird intern aufgerufen.
    Hast du den DLL Header auch für die DLL genommen? Du musst die Funktionen in der DLL als Export kennzeichnen.Hast du die DLL mal mit dem Dependency Walker angeguckt?



  • Für die Dll habe ich die Funktionen mir export gekennzeichnet... also daran liegt es nicht.

    Also ich habe mir die dll eben mit dem walker angesehen aber worauf muss ich denn da jetzt achten?



  • Werden deine Funktionen als Export angezeigt??
    Hast du die DllMain auch als Export gekennzeichnet? Das würde ich dann an deiner Stelle erstmal ändern 🙄
    Werden irgendwelche unaufgelösten Abhängigkeiten angeprangert(rot!!)?
    Welche Abhängigkeiten bestehen? Kernel32? User32?
    Lässt du dir immer alles so aus der Nase ziehen? :p



  • Also Fehler gibt es keine.
    Abhängigkeiten:
    - KERNEL32.DLL
    - CRTDLL.DLL

    Wenn ich dich richtig verstanden habe fehlt da user32.dll ?
    Achso normalerweise lass ich mir nicht

    immer alles so aus der Nase ziehen

    🙂 aber da es diesmal anders ist nochmal danke das du dich mit meinem Problem befasst.


Anmelden zum Antworten