Funktionserweitrung per DLL



  • Hallo zusammen,

    ich habe ein z.Z. noch eher fiktives Problem. Mich würde aber trotzdem mal interessieren wie man soetwas lösen könnte/kann.

    Angenommen, ich habe ein selbst entwickeltes Programm, das eine bestimmte Grundfunktionalität zur Verfügung stellt (z.B. einlesen und verarbeiten irgendwelcher Daten mit einem speziellen Algorithmus). Nun fällt mir nach einem halben Jahr ein, ich möchte dem Programm noch einen (oder mehrere) zusätzliche Algorithmen zur Verarbeitung hinzufügen OHNE die Exe-Datei neu compilieren zu müssen.

    Meine Idee wäre z.B.: Ich packe den neuen Algorithmus in eine DLL und lege die einfach mit in den Programmordner. Vorausgesetzt meine Software ist in der Lage beim Start die neue DLL zu erkennen und einzubinden. Nun kann es sein, dass mehrere Algorithmen (jeweils einer pro DLL) geladen werden. Der Anwender kann dann einen beliebigen auswählen.

    Machbar ist so etwas, da ich es schon gesehen habe. Aber wie nennt man diese Technik in der Programmierung? Und wie wird so etwas tatsächlich implementiert?Hat das schon jemand gemacht?

    Ich bin über jede Art von hinweis dankbar.

    Gruß
    Kramny



  • Plugin oder Add on oder Add in. 😉 Ist auch tatsächlich recht einfach zu implementieren, es ist lediglich etwas Vorarbeit zu leisten, wie du festgestellt hast. Um aber etwas erweiterbar zu machen, muß man mehr machen als nur DLLs durchforsten und laden. Dein Programm muß generell "erweiterbar" designed sein. Das ist wohl das schwierigste an der Sache. Schwierig aber nicht im Sinne von unmöglich.

    Du kannst auch Python oder Lua benutzen, um dein Programm zu erweitern. Dann brauchst du nichtmal DLLs generieren (und somit nicht mal ein Compiler nötig), sondern legst nur die Sourcedateien rein und dein Programm läuft die dann auch durch. Python und vorallem Lua sind dafür gut geeignet.



  • plugin - klar, da hätte ich auch selbst drauf kommen können. Danke!


Anmelden zum Antworten