Ein eigenes Control Panel bauen, Teil 14 14.05.2018, 00:00 Uhr

Kategorien verwalten

Zum Abschluss wird noch eine Kategorienverwaltung für das Control Panel skizziert.
Bislang arbeitet das selbst gebaute Control Panel ExtendedControlPanel nur mit CPL- und registrierten EXE-Verwaltungsmodulen zusammen. In der letzten Programmfassung sollen nun auch benutzerdefinierte Plug-ins angebunden werden, welche die Interface-Klasse PluginInterfaceClass definieren. Dies trifft auf die Verwaltungsmodule Monitore und Prozessoren zu, die in [1] bis [5] beschrieben wurden. In der vorangegangenen Folge dieser Serie [6] wurde damit begonnen, das Control-Panel so zu erweitern, dass es neben CPL- und registrierten EXE-Verwaltungsmodulen auch Interface-Plug-ins unterstützt.
In der erweiterten Systemsteuerung erfolgt das Anbinden der benutzerdefinierten Verwaltungsmodule mit vorgegebenem Interface über die Methode GetIEXEs(Listing 1). In der Prozedur wird zunächst über die Objektvariable piFunc der Zugriff auf die Plug-in-Hilfsfunktionen (ControlPanelInterface.PluginHelperFunctions) bereitgestellt. Dann werden über das Datenfeld piPaths die Pfade der auszulesenden Plug-ins zugewiesen. Der erste Pfad liegt im Unterverzeichnis der Startanwendung, wie über das Interface vorgegeben, und kann mit piFunc.GetPluginPath ermittelt werden. Der Pfad im Windows-Systemverzeichnis wird direkt zugewiesen. Nutzen Sie den letztgenannten Pfad, wenn unterschiedlich lokalisierte Verwaltungsprogramme einheitlichen Zugriff auf Plug-ins erhalten sollen. Das Unterverzeichnis Plugins sollten Sie nutzen, wenn ein Plug-in nur einem speziellen Verwaltungsprogramm zuzuordnen ist. Ein Plug-in in beide Ordner aufzunehmen ist dagegen keine gute Idee.

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar