Hallo zusammen,
ich bschäftige mich seit einiger Zeit mit Lösungsmöglichkeiten für folgenden Anwendungsfall:
Ich möchte meine künftige Applikation so aufbauen, dass diese im Grunde nur ein "Container" für weitere Programmfunktionalitäten ist. In dem Programm wird ein Berechtigungssystem abgebildet, welcher User welchen Zugriff auf welche Funktionen hat. Zudem ist noch eine Reporting-Funktionalität enthalten, die sich aber auf die zugrunde liegende Datenbank bezieht.
Die gesamten angesprochenen Funktionalitäten möchte ich komplett auslagern. Dafür gibt es aus meiner Sicht 2 Gründe: a) Wartbarkeit der einzelnen "Module" und b) Erweiterbarkeit.
Man stelle sich den Grundsätzlichen Anwendungsaufbau so vor: Hauptformular mit einem Treeview links, der die durch das Berechtigungssystem freigeschalteten "Module" anzeigt und rechts einen freien Fensterbereich (bzw. ein Panel), in dem das jeweilige Modul angezeigt werden soll.
Anforderungen meinerseits ist: Das Hauptprogramm soll von der Art der zu ladenden Forms und deren individuellen Funktionalitäten keine Kenntnis haben müssen. Man wählt also im TV eine Funktion aus, daraufhin wird das Modul geladen, angezeigt und steht funktional zur Verfügung.
Was ich mir wünsche:
- das Formular mit all seinen Funktionalitäten kann in der Delphi-IDE erstellt werden
- mehr als einen Standardaufruf für diese Module darf es im Hauptprogramm nicht geben
- das "Modul" sollte als eine Datei vorliegen
Ideal wäre eine "Schnittstelle" in der Form, dass ich vom Hauptprogramm aufrufe:
ShowModule('Modulname',iUserID)
Ich habe bisher die Möglichkeiten von Formularen in DLLs und Packages gefunden. Nur leider wurde das Thema, was mich interessiert, überall nur kurz angerissen.
Habt ihr evtl. einen für meine Fragestellung passenden Lösungsansatz?
Gruß Igotcha