Zitat von
Elcattivo83:
Erstmal danke für die Vorschläge, aber wie kann ich denn z.B. einen IntraWebServer oder eine ASP.net Komponente in mein Programm integrieren und über diesen die jeweiligen Formulare für die Clients verfügbar machen?
Auch hier wieder: Gar nicht. Die Vorgehensweise ist eigentlich komplett anders rum. Um Web-Seiten auszuliefern brauchst Du einen Web server. Du wirst nicht einfach so einen Webserver in Deine Anwendung bringen. Die Idee ist eher, Deine Anwendung in den Webserver zu integrieren.
Bei IntraWeb würdest Du eine
ISAPI-
Dll schreiben, in die Du die Business-Logik Deiner Anwendung einbaust. Die Web-formulare musst Du so oder so neu machen. Diese
ISAPI-
DLL wird dann in einem IIS oder einem Apache auf dem Rechner ausgeführt, der die Anwendung bereitstellen soll.
Bei ASP.NET wirst Du wohl nicht viel von Deiner Applikation wiederverwenden können, ausser Du stellst aus Deiner Anwendung heraus Funktionen zur Verfügung, mit denen die ASP.NET Webanwendung dann kommuniziert. Sei es durch Interprozess-Kommunikation (im Stile eines Application-Servers) oder Du baust aus Deiner Anwendung eine
DLL die eben diese Funktionen zur Verfügung stellt.
Zitat von
Elcattivo83:
@Phoenix: Wie würde das denn mit dem Server funktionieren? Läuft dann die exe nicht "für jeden Client" separat? Wenn nicht, wäre diese Lösung auf jeden Fall meine Bevorzugte, da ich mein Programm nicht, oder kaum ändern muss.
Bei einem Terminal-Server läuft die Exe dann für jeden User einzeln. Bei 3 Zugriffen hast Du also drei mal die Anwendung laufen.
Du musst Dir bei dem ganzen Vorhaben im klaren sein, dass hinter Desktopanwendungen und Webapplikationen (im Sinne von 'läuft im Browser') so dermaßen unterschiedliche Konzepte liegen, dass das was Du vorhast in aller Regel nicht durchführbar ist, ohne Deine Anwendung in großen Teilen umzubauen. Eine Ausnahme von der Regel wäre, wenn Du Deine
GUI von der Logik vollständig durch Interfaces getrennt hast. In dem Moment wo Du aber auch nur eine einzige Datenmanipulation in igrendeinem 'OnClick' Event etc. auf einem Formular implementiert hast ist das rum. Dann wirst Du nicht umhin kommen, Deine Anwendung mit Rücksicht auf die Beschränkungen der Technologie 'Web' neu zu entwerfenn und entsprechend umzubauen. Oder - und das ist dann mit an Sicherheit grenzender Wahrscheinlichkeit die einfachere und schnellere und zudem noch zukunftssicherere Version - die Anwendung für das Web in einer aktuellen Technologie die für Web auch wirklich geeignet ist (z.B. eben ASP.NET mit Delphi Prism oder zur Not auch C#, alternativ Java) neu zu implementieren und dabei darauf zu achten, dass Du Erweiterungen die Du hier machst auch aus Deiner bisherigen Anwendung (z.B. via Webservices oder mittels einem Plugin-Systems) auch nutzen kannst, ohne das dann doppelt implementieren zu müssen.