Wie öffne ich eine URL mit dem Standard-Browser mit plattformübergreifenden FireMonkey-Anwendungen?
In der Regel verwende ich: ShellExecute(0, 'OPEN', PChar(edtURL.Text), '', '', SW_SHOWNORMAL);
Wie kann ich das gleiche Verhalten (das öffnen eines Links im Standard-browser) auf allen Plattformen (Windows und OSX)?
InformationsquelleAutor der Frage Whiler | 2011-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der FireMonkey-Diskussions-forum fand ich diesen code, um eine Frage zu NSWorkspace.URLForApplicationToOpenURL:
(nicht getestet von mir)
Update: Posix ist unter Windows nicht verfügbar, so ist es nicht möglich zu schreiben, eine Lösung, die über die gleichen Betriebssystem-Aufrufe, die auf allen Plattformen. Ich schlage vor, zu bewegen, diesen code in eine zentrale 'XPlatform' Einheit, die einige IFDEF POSIX etc.
InformationsquelleAutor der Antwort mjn
Bezug auf die Antwort von mjnich habe das folgende geschrieben-Einheit. Ich habe erfolgreich getestet auf Windows, aber ich habe kein OSX, um es zu testen auf dieser Plattform. Wenn jemand bestätigen kann das es funktioniert, würde ich schätzen.
und ich rufe es wie folgt:
InformationsquelleAutor der Antwort Whiler
XE2 C++ - code, der erfolgreich getestet (Windows 7 64 und OSX Lion), kleinere Verbesserungen. Danke Whiler, der Schmerz ist vorbei 🙂
InformationsquelleAutor der Antwort Tuomas Kayhko
Für alle Plattformen (Windows, macOs, iOS und Android) Sie können die Einheit verwenden, schrieb ich für mein blog
InformationsquelleAutor der Antwort Patrick PREMARTIN
Als @NicoBlu erwähnt, die akzeptierte Lösung scheint kürzen Sie die URL nach dem ersten vorkommen von '&'. Hier ist, was funktioniert für mich ohne Trunkierung:
InformationsquelleAutor der Antwort DNR
Und nun eine C++ - version (OSx-code ungetestet, auch nicht sicher über die _POSIX #def):
InformationsquelleAutor der Antwort Rhys Drummond
nicht funktioniert, wenn Sie die URL-Zeichenfolge (
sCommand
) enthält ein kaufmännisches und-Zeichen (&
), die nötig sind, um anzugeben, viele Argumente im querystring.URL sended zu def. browser in OSX (Safari) wird abgeschnitten, beim ersten auftreten von
&
.InformationsquelleAutor der Antwort NicoBlu
InformationsquelleAutor der Antwort Maxime Bonin