AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Kommunikation zwischen Delphi und Metro App (WCF?)
Thema durchsuchen
Ansicht
Themen-Optionen

Kommunikation zwischen Delphi und Metro App (WCF?)

Offene Frage von "CodeX"
Ein Thema von CodeX · begonnen am 9. Sep 2012 · letzter Beitrag vom 13. Sep 2012
Antwort Antwort
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#1

AW: Kommunikation zwischen Delphi und Metro App (WCF?)

  Alt 9. Sep 2012, 16:08
Diese API scheint Atom und RSS zu unterstützen.
Ich schau mal, wie man damit dann mit Delphi arbeiten kann. Kann ich mir noch nicht so ganz vorstellen...
Einfachstes XML über HTTP, kein Hexenwerk

Wichtig ist noch die Frage der Topologie: soll die Delphi Anwendung der "Server" für viele Metro-Clients sein (1:N), oder sollen peer-to-peer Verbindungen (von einer Metro App zu einem Delphi Prozess, also 1:1) hergestellt werden?
Definitiv 1:1!
Ok, das Delphi Programm wird dann natürlich eine Freischaltung der lokalen Firewall benötigen, sobald es einen TCP Port öffnet.

p.s. in diesem FAQ wird erwähnt, dass es aus Metro Anwendungen keine localhost Verbindungen geben kann (ausser zur gleichen App): How can a Metro app in Windows 8 communicate with a backend desktop app on the same machine?
Die Kommunikation dort ist teilweise schon ein Jahr alt und ich bin der Meinung, irgendwo gelesen zu haben, dass MS diese Einschränkung nach größerem Protest wieder verworfen hat. Dafür spricht auch der MetropolisSvc-Service aus XE3.
Ich versuche nachher nochmal, eine verlässliche Quelle zu finden. Wenn da jemand mehr Erfolg bei der Suche hat, sehr gerne!
Laut letztem Kommentar (vom August 2012 also relativ neu) des FAQ ist ein Workaround mit Sourcecode hier zu finden:

[GUIDE] How to bypass WinRT / Metro sandbox using simple trick
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Kommunikation zwischen Delphi und Metro App (WCF?)

  Alt 9. Sep 2012, 20:46
Laut letztem Kommentar (vom August 2012 also relativ neu) des FAQ ist ein Workaround mit Sourcecode hier zu finden:
[GUIDE] How to bypass WinRT / Metro sandbox using simple trick
Wenn ich das aber richtig sehe, wird dort BasicHttpBinding verwendet, letztlich also per WCF kommuniziert.

Diese API scheint Atom und RSS zu unterstützen.
Ich schau mal, wie man damit dann mit Delphi arbeiten kann. Kann ich mir noch nicht so ganz vorstellen...
Einfachstes XML über HTTP, kein Hexenwerk
Gibt's denn dafür auch schon einen vorgefertigten Baukasten (wie bspw. die REST oder SOAP Server-Beispiele), den Du empfehlen würdest?

Zur Transparenz:
Ich habe heute nach ein paar Denkanstößen hier noch eine grundsätzliche Frage (ohne konkreten Delphi-Bezug) dazu auf SO gepostet.
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Kommunikation zwischen Delphi und Metro App (WCF?)

  Alt 12. Sep 2012, 09:52
Ich habe heute nach ein paar Denkanstößen hier noch eine grundsätzliche Frage (ohne konkreten Delphi-Bezug) dazu auf SO gepostet.
Das Ergebnis kann man wohl schon zusammenfassen:

* WinRT und Desktop Anwendungen können nicht kommunizieren, ausser in Debug-Umgebungen
* der MetropolisSvc in Delphi XE3 kommuniziert nicht mit WinRT, sondern nur mit einem Live Tile

Zitat (letzter Kommentar von gestern):

Zitat:
No, tiles themselves are not WinRT apps. For example, I have a tile for Outlook, Word, etc - but those are native apps. Start Tiles are kind of just icons on steroids. From what I can determine, and I could be wrong, the XE3 stuff is just creating a custom "icon" that is created to look like a Tile, if that makes sense. At the end of the day, there is no communication between the MetropolisSvc and WinRT. That is why their docs say you cannot use MetroplisSvc with a WinRT app.
Was sich mir noch nicht ganz erschliesst:

* wenn Metro Apps mit einem Web Server kommunizieren können (Wettervorhersage, Social Media etc.), und das über TCP/IP (HTTP) machen, warum geht das nicht wenn der Server lokal läuft? Oder irre ich mich und es geht (man kann statt localhost ja die IP Adresse des Netzwerkadapters angeben).
Michael Justin
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Kommunikation zwischen Delphi und Metro App (WCF?)

  Alt 12. Sep 2012, 11:02
Was sich mir noch nicht ganz erschliesst:

* wenn Metro Apps mit einem Web Server kommunizieren können (Wettervorhersage, Social Media etc.), und das über TCP/IP (HTTP) machen, warum geht das nicht wenn der Server lokal läuft? Oder irre ich mich und es geht (man kann statt localhost ja die IP Adresse des Netzwerkadapters angeben).
Ich vermute mal die Absicht dahinter ist: ein Dienst in der großen Wolke ist immer verfügbar, ein lokaler Dienst muss erst installiert sein, was über die Installationsmechanismen der Metro App über den Store nicht geht.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Kommunikation zwischen Delphi und Metro App (WCF?)

  Alt 12. Sep 2012, 11:27
Nicht ganz was du willst, aber da im Dunstkreis.

In einen Projekt von mir hat ein Kunde eine Delphi VCL-Anwendung, welche mit C# und WPF erweitert wird.
Hintergrund ist, dass er Delphi langfristig durch C# ersetzen will.

Die Integration ist (fast) perfekt. Der Benutzer sieht keinen Unterschied innerhalb der Anwendung was WPF/C# oder VCL/Delphi ist. (Naja, vielleicht an der Schriftenglättung vom WPF)

Es gehen beide Richtungen:
VCL Anwendung und WPF rein oder WPF-Anwendung und VCL einbetten.
Angehängte Grafiken
Dateityp: jpg DelphiVCLCSharpWpf.jpg (157,0 KB, 26x aufgerufen)
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott

Geändert von generic (12. Sep 2012 um 12:49 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Kommunikation zwischen Delphi und Metro App (WCF?)

  Alt 12. Sep 2012, 12:47
Was sich mir noch nicht ganz erschliesst:

* wenn Metro Apps mit einem Web Server kommunizieren können (Wettervorhersage, Social Media etc.), und das über TCP/IP (HTTP) machen, warum geht das nicht wenn der Server lokal läuft? Oder irre ich mich und es geht (man kann statt localhost ja die IP Adresse des Netzwerkadapters angeben).
Ich vermute mal die Absicht dahinter ist: ein Dienst in der großen Wolke ist immer verfügbar, ein lokaler Dienst muss erst installiert sein, was über die Installationsmechanismen der Metro App über den Store nicht geht.
Und wenn ein lokaler Dienst "manuell" auf dem Rechner installiert ist, dann kann sich eine Windows Store Anwendung mit diesem Dienst verbinden? Alles was ich bisher gelesen habe ist, dass localhost nicht ansprechbar ist aus einer gesandboxten Anwendung.

Damit wäre ein Umweg aber noch möglich - über einen zweiten PC. Es sei denn, die Sandbox verweigert auch Verbindungen zu Rechnern im gleichen Subnetz ...
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#7

AW: Kommunikation zwischen Delphi und Metro App (WCF?)

  Alt 13. Sep 2012, 00:59
Damit wäre ein Umweg aber noch möglich - über einen zweiten PC. Es sei denn, die Sandbox verweigert auch Verbindungen zu Rechnern im gleichen Subnetz ...
Das sollte kein Problem sein, aber letztlich nicht praxistauglich - wer will schon für ein bestimmtes Programm einen zweiten Rechner oder VM die ganze Zeit laufen haben, nur damit er es per Metro-Oberfläche bedienen kann?

Ich frage mich gerade die ganze Zeit, ob man das nicht trotzdem irgendwie tricksen kann. Also z.B. per lokaler Proxy-Umleitung. Oder durch Registrieren des Servers, so dass er auf eine bestimmte IP ausgehender Kommunikation reagiert (die nichts mit localhost zu tun hat). D.h. man sendet an 1.2.3.4:8080, der lokale Server sieht das und antwortet darauf. Wahrscheinlich total abwegig, aber es lässt mich nicht los, dass die Verwendung eines lokalen Webdienstes nicht möglich sein soll...

Irgendeine schönere Lösung außer dem Austausch von Informationen über eine Datei muss es doch geben. :-/
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  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 11:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz