Die Idee mit der
DLL ist zwar ok, aber die Funktionen, von denen ich spreche, sind stark gebunden an die Programmumgebung. Von Benutzerrechten bis zu einer Vielzahl von Umgebungseinstellungen sind da einfach zu viele Dinge zu berücksichtigen, um sie in eine
DLL auszugliedern, das lässt sich einfach nicht so kapseln.
Aber mir kam da gerade eine ganz andere Idee. In der
DPR wird ja das entsprechende Webmodul zugewiesen:
Zitat:
if WebRequestHandler <> nil then
WebRequestHandler.WebModuleClass := WebModuleClass;
Dann wird das entsprechende Serverfenster zu einem bestimmten Zeitpunkt created, der Server gestartet und los gehts.
Wenn ich an dieser Stelle über einen Startparameter der EXE eine Fallunterscheidung einbaue und dann den anderen Server registriere, müsste ich doch in der Exe entweder den einen oder den anderen Server laufen lassen können. Sorge ich nun noch dafür, dass man die Exe zweimal starten kann (was ich zur Zeit blockiert habe), könnte ich einfach zwei Instanzen der Exe mit verschiedenen Servern laufen lassen.
Es geht ja letztlich nur um das Webmodule, wo ich mich im laufenden Programm festlegen muss. Der Server selbst wird ja erzeugt beim Create des jeweiligen Serverforms. So könnte ich die Server sauber voneinander abgrenzen. Da sie auf unterschiedlichen Ports lauschen, gibt es da auch keine Konflikte.
Aber da komme ich vielleicht in eine andere selbstgemachte Sackgasse. Ich habe mal eingebaut, dass man die EXE sowohl ganz normal mit Fenstern als auch als Dienst starten kann. Wenn ich die EXE als Dienst laufen lasse, kann ich dieselbe Exe zweimal als Dienst registrieren mit verschiedenen Startparametern? Müsste doch auch gehen, oder?