DLL - zugriff auf Funktionen der aufrufenden Anwendung



  • Eigentlichsagt der Titel fast alles, hier aber eine genaue Erklärung:

    Ich habe eine Anwedung, welche Testroutinen für externe Hardware erzeugt. Diese Hardware wird über eine eigene Funktion angesprochen.
    Im laufe der Zeit sind es viele >300 (hab aber nie nachgezählt) Testroutinen geworden. Da oft neues hinzukommt, oder Teile abgeändert werden ärgere ich mich über die lange Erstellungsdauer ca. 3-5 Minuten die der Compiler momentan bruaucht.

    Nun möchte ich die Testroutinen Gruppenweise in DLLs verpacken und so auslagern. Der Ablauf ist mir bekannt und ich werde in auch schaffen. Nur stellt sich ein Problem dar:
    **
    Jede DLL müsste in der Lage sein die Komunikationsroutinen des Hauptprogrammes auszuführen. Wie mache ich das? Oder anders formuliert: wie kann eine DLL eine Funktion des aufrufenden Programmes ausführen?**



  • Hallo

    Das ist das Plugin-Prinzip. Du must den Funktionen zum Beispiel die notwendigen Funktionen als Funktionszeiger übergeben, oder (bei Compilerspzifischen C++ DLLs) Pointer auf die Klassenstruktur.

    bis bald
    akari



  • Hallo,

    Pointer auf Klassen des aufrufenden Programmes würde ich nicht empfehlen. Hier denke ich sind Funktionspointer für Callback-Funktionen das Mittel der Wahl.
    siehe auch
    http://www.newty.de/fpt/callback.html


Anmelden zum Antworten