dll und funtionszeiger



  • hallo, ich versuche krampfhaft in einer dll einen funktionszeiger zu speichern:

    folgender sachverhalt:

    hauptprogramm enthält eine funktion.

    funktionszeiger soll an eine klasse in der dll übergeben und gespeichert werden.

    dll klasse ruft die funktion im hauptprogramm mittels zeiger auf.

    ich habe versucht das in etwa der art zu machen:

    Hauptprogramm:

    void Test () {...}

    zeigerübergabe an dll: pktestdll->funcPtr = Test;

    DLL:

    deklaration: void (*funcPtr) ();

    Aufruf in dll mit: (*funcPtr) ();

    das programm compiliert das zwar, stürzt aber ab.

    woran liegt das ?



  • was kommst denn für ein fehler? also da müssen ein paar sachen übereinstimmen, kann mich aber net an alles erinnern - scho lange her als ich unter windows programmiert habe. aufjedenfall solltest du die funktion

    void test(void)
    

    exportieren und dann must du noch den export-type einstellen, welche IDE benutzt du?

    mfg blan



  • ich nutze visual c .net 2002

    ich habe mich nach dieser pdf gerichtet.
    innerhalb des hauptprogrammes klappt das einwandfrei, aber ich krieg es nicht hin, dass die funktion von der dll aus aufgerufen wird.

    das problem ist ja auch, dass zum zeitpunkt der compilation der dll funktion und deren bezeichnung im hauptprogramm nicht bekannt ist...

    http://www.rrzn.uni-hannover.de/fileadmin/buecher/umdrucke/CPlus_Handbuch/funcPointer.pdf



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • ähm, warum wurde der beitrag hierher verschoben ?

    lt. faq soll meine frage nur dann hierher, wenn ich die mfc nutze!
    ich nutze sie aber nicht !?

    Fragen über die Handhabung der IDE Visual C++ oder Fragen zur Handhabung der MFC. Die MFC (Microsoft Foundation Classes) sind eine Klassenbibliothek die dem Visual C++ beiliegt. Visual C++ ist hierbei nur die IDE inklusive Compiler -> viele Leute verwechseln MFC mit Visual C++.

    mein e frage bezieht sich weder auf die ide und ich nutze kein mfc.


Log in to reply