fadade
BIOS-Overclocker(in)
Hey,
wie der Titel schon sagt, wollte ich mal wissen, ob jemand schonmal eine Pluginschnittstelle programmiert hat.
Bestes Beispiel momentan: Minecraft mit Server Mods
Die bestehende Serversoftware bietet einen Ordner "Plugins" an, in dem man Plugins einfach reinkopieren muss und beim nächsten Start werden sie mitgeladen. Die bereigestellten Funktionen haben oft SEHR GROßEN EINFLUSS auf das Spiel, scheinen also sehr tief im eigentlichen Spiel "verankert" zu sein.
Jetzt hat sich mir die Frage gestellt, wie man sowas macht (ich verweise hier mal auf den Thread Programmierte Intelligenz, wo man das z.B. auch gut anwenden könnte )
Grundlage:
- Ich habe eine selbst erstellte GUI mit ein paar Textfeldern, Menüs, Optionsdialogen etc.* und der Programmcode an sich ist sehr klein gehalten.
- und nun soll er eine Pluginschnittstelle bekommen. Diese soll nach und nach (Textverarbeitungs-)Funktionen bereitstellen.
- die zusätzlichen Funktionen werden z.B. bzw. am liebsten in eine DLL gepackt
Probleme:
- soweit ich weiß muss eine DLL im Hauptprogramm mit eingebunden sein, wobei im nachhinein eingefügte Plugins würden dann ja nicht erkannt
- wie bekommt man im Hauptprogramm den kompletten Funktionsumfang zum laufen? Weil wenn das Hauptprogramm z.B. nicht mehr geupdatet wird, aber immer wieder neue Pluginversionen "installiert" werden, sind die neuen Methoden und klassen des Plugins im Hauptprogramm ja unbekannt.
Ansatz am konkreten beispiel:
- ein Fenster mit 1 Textbox und drei buttons existieren. ein button dient zum beenden des programms. die anderen beiden sollen einmal den textbox-string umkehren (aus hallo wird ollah) und einmal die ToUpper() bzw. ToLower-Methoden aufrufen.
- die Funktionen sind ja schnell gemacht und in eine DLL gepackt.
- aber wie geht es jetzt weiter?
So, ich hoffe mal hier kann mir wer helfen, wenn ihr mich nicht verstanden habt, dann meckert bidde rum
* Meinetwegen sowas wie der Windowseigenen Editor)
wie der Titel schon sagt, wollte ich mal wissen, ob jemand schonmal eine Pluginschnittstelle programmiert hat.
Bestes Beispiel momentan: Minecraft mit Server Mods
Die bestehende Serversoftware bietet einen Ordner "Plugins" an, in dem man Plugins einfach reinkopieren muss und beim nächsten Start werden sie mitgeladen. Die bereigestellten Funktionen haben oft SEHR GROßEN EINFLUSS auf das Spiel, scheinen also sehr tief im eigentlichen Spiel "verankert" zu sein.
Jetzt hat sich mir die Frage gestellt, wie man sowas macht (ich verweise hier mal auf den Thread Programmierte Intelligenz, wo man das z.B. auch gut anwenden könnte )
Grundlage:
- Ich habe eine selbst erstellte GUI mit ein paar Textfeldern, Menüs, Optionsdialogen etc.* und der Programmcode an sich ist sehr klein gehalten.
- und nun soll er eine Pluginschnittstelle bekommen. Diese soll nach und nach (Textverarbeitungs-)Funktionen bereitstellen.
- die zusätzlichen Funktionen werden z.B. bzw. am liebsten in eine DLL gepackt
Probleme:
- soweit ich weiß muss eine DLL im Hauptprogramm mit eingebunden sein, wobei im nachhinein eingefügte Plugins würden dann ja nicht erkannt
- wie bekommt man im Hauptprogramm den kompletten Funktionsumfang zum laufen? Weil wenn das Hauptprogramm z.B. nicht mehr geupdatet wird, aber immer wieder neue Pluginversionen "installiert" werden, sind die neuen Methoden und klassen des Plugins im Hauptprogramm ja unbekannt.
Ansatz am konkreten beispiel:
- ein Fenster mit 1 Textbox und drei buttons existieren. ein button dient zum beenden des programms. die anderen beiden sollen einmal den textbox-string umkehren (aus hallo wird ollah) und einmal die ToUpper() bzw. ToLower-Methoden aufrufen.
- die Funktionen sind ja schnell gemacht und in eine DLL gepackt.
- aber wie geht es jetzt weiter?
So, ich hoffe mal hier kann mir wer helfen, wenn ihr mich nicht verstanden habt, dann meckert bidde rum
* Meinetwegen sowas wie der Windowseigenen Editor)