Delphi XE3、FireMonkeyアプリケーションで指定したURLをデフォルトのウェブブラウザで開くには。
WindowsだとShellAPI.ShellExecuteを使えばいいんだけど、WindowsAPIなのでこれはMacOSXでは使えない。
MacOSXだとPosixパッケージのコマンド実行(_system関数)で開くといいみたい。PosixパッケージはWin32, Win64ターゲットでは使用不可。
コンパイラ指令のIFDEFを使ってMACOSとMSWINDOWSシンボルを見て挙動を切り替える。
以下、ボタンクリックで example.org をウェブブラウザで開くコード例。
Unit1.pas
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Rtti, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs {$IFDEF MACOS} ,Posix.Stdlib {$ENDIF} {$IFDEF MSWINDOWS} ,Windows ,ShellAPI {$ENDIF} ; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject); begin {$IFDEF MACOS} _system(PAnsiChar('open http://example.org/')); {$ENDIF} {$IFDEF MSWINDOWS} ShellExecute(Self.Handle, 'open', PChar('http://example.org/'), '', '', SW_SHOWNORMAL); {$ENDIF} end; end.