AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Formular einer exe per Browser im LAN anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Formular einer exe per Browser im LAN anzeigen

Offene Frage von "Elcattivo83"
Ein Thema von Elcattivo83 · begonnen am 26. Jun 2009 · letzter Beitrag vom 11. Sep 2009
Antwort Antwort
Elcattivo83

Registriert seit: 16. Sep 2008
5 Beiträge
 
#1

Formular einer exe per Browser im LAN anzeigen

  Alt 26. Jun 2009, 09:18
Hallo zusammen,

ich habe folgende Aufgabenstellung bekommen und bisher keine brauchbare Lösung gefunden. Also:
Auf einem Server soll eine exe laufen, auf die bis zu 7 Rechner gleichzeitig zugreifen sollen. Deshalb hatte ich mir gedacht, dass man in der exe die einzelnen Formulare per Browser erreichbar machen sollte. Die 7 Rechner sind nämlich per WLAN angebunden, wodurch es immer wieder zu Abbrüchen kommen kann. Eine dezentrale Lösung kommt wegen ODBC-Verbindungen nicht in Frage. Alle Lösungen, die ich hier im Forum gefunden habe, bezogen sich auf TCP-Kommandos die einen Button-Click transferieren... ich muss aber eine scrollbare Listbox und einige Buttons zur Verfügung haben. Gibt es da eine gängige Lösung das gesamte Formular zu übertragen?
Auf eure Antworten bin ich schon sehr gespannt.
Danke im Voraus.

Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#2

Re: Formular einer exe per Browser im LAN anzeigen

  Alt 26. Jun 2009, 09:26
Da gibt es nur eine ganz einfache Antwort: Nein, das geht so überhaupt nicht.

Mögliche alternative Lösungen:
IntraWeb verwenden oder ASP.NET mit Delphi Prism benutzen. Für Webgeschichten würde ich letztere Lösung gegenüber ersterer stark präferieren.

Kompliziertere Lösungen: Mittels den Indy-Komponenten selber einen Webserver entwickeln der das Form dann eben in HTML generiert und die Antworten auswerten kann. Das würde ich mir persönlich aber nicht antun wollen.

Wenn es etwas teurer sein darf (aber weniger Aufwand verursachen soll): Die Exe auf einen Windows Terminal Server legen und die bis zu 7 Clients mittels Remote Desktop darauf zugreifen lassen. Braucht halt eine Win-Server Lizenz und 7 Zugriffslizenzen für die Terminal Services. Geht auch via Browser mit dem RDP-Webclient.

Das das gleichzeitig sein muss fällt VNC leider aus.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Formular einer exe per Browser im LAN anzeigen

  Alt 26. Jun 2009, 09:42
Nunja ich kann dir direkt keine Hilfe geben da ich mich damit bisher nicht beschäftigt habe,
also im Bereich der Datenbanken haben wir im Intranet einige Formulare die im Browser per EXE
aufgerufen bzw. erstellt werden. (z.b. CD-Ausleihe, alle CD's werden aufgelistet, ausgeliehen oder nicht etc...)

Jedoch würde ich trotz allem lieber eine Lösung wie ASP.net vorschlagen, dort habe ich z.b. schon ein Webformular
erstellt und im Endeffekt brauch es keine große Einarbeitungsphase.

MfG Alaitoc
  Mit Zitat antworten Zitat
Elcattivo83

Registriert seit: 16. Sep 2008
5 Beiträge
 
#4

Re: Formular einer exe per Browser im LAN anzeigen

  Alt 2. Jul 2009, 08:52
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?
@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.
Für weitere Vorschläge / Tutorials wäre ich sehr dankbar.
Gruß
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Formular einer exe per Browser im LAN anzeigen

  Alt 2. Jul 2009, 08:57
Zitat von Alaitoc:
... also im Bereich der Datenbanken haben wir im Intranet einige Formulare die im Browser per EXE
aufgerufen bzw. erstellt werden. (z.b. CD-Ausleihe, alle CD's werden aufgelistet, ausgeliehen oder nicht etc...)
Wirklich als Exe (ActiveX) im Browser (würde nur im IE gehen) oder als CGI-Anwendung bei der du in der Aufruf-URL zufälligerweise den Dateinamen der CGI-Anwendung sieht?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#6

Re: Formular einer exe per Browser im LAN anzeigen

  Alt 2. Jul 2009, 09:12
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Formular einer exe per Browser im LAN anzeigen

  Alt 3. Jul 2009, 07:22
Zitat von Elcattivo83:
ich habe folgende Aufgabenstellung bekommen und bisher keine brauchbare Lösung gefunden. Also:
Auf einem Server soll eine exe laufen, auf die bis zu 7 Rechner gleichzeitig zugreifen sollen.
Mit einem Terminalserver wäre das leicht möglich ohne dass an der Anwendung groß etwas geändert werden müsste.
Die Anwendung sollte ihre Daten aber nicht im Programmverzeichnis, sondern in den richtigen Windows-Verzeichnissen speichern (USERS, ALL_USERS).
Jeder Client braucht dann die Remote Desktop Client Software (http://www.microsoft.com/windowsxp/d...dclientdl.mspx).
Es ist sogar möglich, die Anwendung in einem Webbrowser anzuzeigen.
Dazu muss auf dem Client eine ActiveX-DLL registriert werden (Remote Desktop Web Connection ActiveX control).
Serverseitig muss der Microsoft IIS installiert sein.

Das Bild zeigt einen Windows Desktop "eingesperrt" im Internet Explorer.
http://www.petri.co.il/images/remote...web_2003_1.gif
Man kann das aber auch so konfigurieren, dass der Anwender ausschliesslich die Anwendung sieht.
fork me on Github
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#8

Re: Formular einer exe per Browser im LAN anzeigen

  Alt 11. Sep 2009, 11:22
Spricht viel dagegen Oberfläche und Businesslogik zu trennen und eine ThinClient-FatServer Anwendung daraus zu machen?
Wieviele Formulare enthält die Anwendung?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz