Benutzer mit den meisten Antworten
Kann dll Dialoge anzeigen?

Frage
-
Hi folks,
ich habe eine unmanaged Win32 DLL, welche Dialoge und MessageBoxes anzeigt. Ist es bei ASP.NET möglich diese Dialoge beim Client anzuzeigen?
Vereinfachtes Beispiel: test.dll auf dem Server hat eine Methode sayhello(), welche ein MessageBox.Show("Hello") aufruft. Ist es möglich beim Buttonklick in einer Website die Methode sayhello() aufzurufen, so dass die MessageBox beim Client angezeigt wird (gibt es eine Art Window-Forwarding?) oder würde sich die MessageBox auf dem Server öffnen?
Gruß,
Gerrit
Antworten
-
Hallo Gerrit,
ich habe eine unmanaged Win32 DLL, welche Dialoge und MessageBoxes anzeigt. Ist es bei ASP.NET möglich diese Dialoge beim Client anzuzeigen?
Nein, das geht so nicht. Dabei ist es egal, ob Du Managed oder Unmanaged Code verwendest. Einzig, wenn die Assembly (oder das ActiveX Control) im Client selbst laufen würde (was aber a) nur in IE und b) nur mit extrem niedrigen Sicherheitseinstellungen überhaupt gehen würde) wäre das so machbar.
Vereinfachtes Beispiel: test.dll auf dem Server hat eine Methode sayhello(), welche ein MessageBox.Show("Hello") aufruft. Ist es möglich beim Buttonklick in einer Website die Methode sayhello() aufzurufen, so dass die MessageBox beim Client angezeigt wird (gibt es eine Art Window-Forwarding?) oder würde sich die MessageBox auf dem Server öffnen?
Ändere das so, dass ein <script type="text/javascript">window.alert( "Hallo Welt!" )</script> an den Client geht, das hat denselben Effekt.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 19. Februar 2010 12:19
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 23. Februar 2010 16:00
-
Hallo Gerrit.
ja. Leider bedeutet dies extrem viel Arbeit :(
Das wäre kein tolles Feature, das wäre Unfug.
Es wäre ein tolles feature, wenn man Dialoge auf einem Remoteserver ausführen könnte und die Darstellung über irgendeine Art zum Client geforwarded wird (ähnlich X-forwarding bei X11/X.org). Http könnte dann benutzt werden um das forwarding zu initiieren. Auf diese Art könnte man Desktopanwendungen auf die Schnelle webfähig machen.
Wenn Du eine RichClient Anwendung brauchst, nimmt Flash, Silverlight, ... HTML ist für sowas (gottlob) nie gedacht gewesen. HTML bietet zusammen mit JavaScript von Version zu Version mehr an Funktionalität. Aber das, was Du da machen willst, wird nicht unterstützt und das ist auch gut so.
Ändere die Login entsprechend und verwende für die Interaktion bspw. eine Kombination aus jQuery, jQueryUI, Webservices, ...
Oder halt gleich Flash bzw. Silverlight.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 19. Februar 2010 12:19
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 23. Februar 2010 16:00
-
Hallo Gerrit,
Das ist leider nicht möglich. Ich bin nicht der Entwickler der DLL. Ich arbeite zwar im gleichen Team, aber muss die DLL als Third-Party DLL betrachten. Die Funktionalität und Programmlogik, die ich benötige, ist in Dialogen implementiert. Daher wäre es für meinen Fall am einfachsten, wenn man diese Dialoge auf der Clientsite anzeigen könnte.
dann kannst du das nicht in eine Webanwendung integrieren. In dem Fall musst Du einen komplett anderen Weg gehen, sorry. Das von dir gewünschte ist nicht realisierbar, es sei denn, es wäre eine ActiveX Komponente, die im IE angezeigt werden kann. Aber selbst dann, wie schon erwähnt, nur IE und nur mit faktisch nicht existenten Sicherheitseinstellungen.
---
@Mod: *bedankt* :)
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 19. Februar 2010 12:20
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 23. Februar 2010 16:00
Alle Antworten
-
Hallo Gerrit,
ich habe eine unmanaged Win32 DLL, welche Dialoge und MessageBoxes anzeigt. Ist es bei ASP.NET möglich diese Dialoge beim Client anzuzeigen?
Nein, das geht so nicht. Dabei ist es egal, ob Du Managed oder Unmanaged Code verwendest. Einzig, wenn die Assembly (oder das ActiveX Control) im Client selbst laufen würde (was aber a) nur in IE und b) nur mit extrem niedrigen Sicherheitseinstellungen überhaupt gehen würde) wäre das so machbar.
Vereinfachtes Beispiel: test.dll auf dem Server hat eine Methode sayhello(), welche ein MessageBox.Show("Hello") aufruft. Ist es möglich beim Buttonklick in einer Website die Methode sayhello() aufzurufen, so dass die MessageBox beim Client angezeigt wird (gibt es eine Art Window-Forwarding?) oder würde sich die MessageBox auf dem Server öffnen?
Ändere das so, dass ein <script type="text/javascript">window.alert( "Hallo Welt!" )</script> an den Client geht, das hat denselben Effekt.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 19. Februar 2010 12:19
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 23. Februar 2010 16:00
-
Hallo Gerrit,
wir sprechen ja im Web auch über HTML-Seiten, angereichert durch CSS und JavaScript. Unabhängig davon, was serverseitig verwendet wird. Von den gewohnten Mustern der Desktop-Programmierung musst du dich verabschieden.
Heißt - komplexe Dialoge müssen entsprechend den Web-Techniken umgesetzt werden. Beispielsweise so . -
Hallo Thomas,
ja. Leider bedeutet dies extrem viel Arbeit :(
Es wäre ein tolles feature, wenn man Dialoge auf einem Remoteserver ausführen könnte und die Darstellung über irgendeine Art zum Client geforwarded wird (ähnlich X-forwarding bei X11/X.org). Http könnte dann benutzt werden um das forwarding zu initiieren. Auf diese Art könnte man Desktopanwendungen auf die Schnelle webfähig machen.
Gruß,
Gerrit -
Hallo Gerrit.
ja. Leider bedeutet dies extrem viel Arbeit :(
Das wäre kein tolles Feature, das wäre Unfug.
Es wäre ein tolles feature, wenn man Dialoge auf einem Remoteserver ausführen könnte und die Darstellung über irgendeine Art zum Client geforwarded wird (ähnlich X-forwarding bei X11/X.org). Http könnte dann benutzt werden um das forwarding zu initiieren. Auf diese Art könnte man Desktopanwendungen auf die Schnelle webfähig machen.
Wenn Du eine RichClient Anwendung brauchst, nimmt Flash, Silverlight, ... HTML ist für sowas (gottlob) nie gedacht gewesen. HTML bietet zusammen mit JavaScript von Version zu Version mehr an Funktionalität. Aber das, was Du da machen willst, wird nicht unterstützt und das ist auch gut so.
Ändere die Login entsprechend und verwende für die Interaktion bspw. eine Kombination aus jQuery, jQueryUI, Webservices, ...
Oder halt gleich Flash bzw. Silverlight.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 19. Februar 2010 12:19
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 23. Februar 2010 16:00
-
Wenn Du eine RichClient Anwendung brauchst, nimmt Flash, Silverlight, ... HTML ist für sowas (gottlob) nie gedacht gewesen. HTML bietet zusammen mit JavaScript von Version zu Version mehr an Funktionalität. Aber das, was Du da machen willst, wird nicht unterstützt und das ist auch gut so.
Ändere die Login entsprechend und verwende für die Interaktion bspw. eine Kombination aus jQuery, jQueryUI, Webservices, ...
Oder halt gleich Flash bzw. Silverlight.
Das ist leider nicht möglich. Ich bin nicht der Entwickler der DLL. Ich arbeite zwar im gleichen Team, aber muss die DLL als Third-Party DLL betrachten. Die Funktionalität und Programmlogik, die ich benötige, ist in Dialogen implementiert. Daher wäre es für meinen Fall am einfachsten, wenn man diese Dialoge auf der Clientsite anzeigen könnte.
Gruß,
Gerrit- Als Antwort vorgeschlagen Stefan FalzModerator Dienstag, 16. Februar 2010 15:50
- Nicht als Antwort vorgeschlagen Robert BreitenhoferModerator Dienstag, 16. Februar 2010 16:24
-
Hallo Gerrit,
Das ist leider nicht möglich. Ich bin nicht der Entwickler der DLL. Ich arbeite zwar im gleichen Team, aber muss die DLL als Third-Party DLL betrachten. Die Funktionalität und Programmlogik, die ich benötige, ist in Dialogen implementiert. Daher wäre es für meinen Fall am einfachsten, wenn man diese Dialoge auf der Clientsite anzeigen könnte.
dann kannst du das nicht in eine Webanwendung integrieren. In dem Fall musst Du einen komplett anderen Weg gehen, sorry. Das von dir gewünschte ist nicht realisierbar, es sei denn, es wäre eine ActiveX Komponente, die im IE angezeigt werden kann. Aber selbst dann, wie schon erwähnt, nur IE und nur mit faktisch nicht existenten Sicherheitseinstellungen.
---
@Mod: *bedankt* :)
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 19. Februar 2010 12:20
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 23. Februar 2010 16:00