Delphiからでブラウザを開きたいときなど、ShellExecuteを使う必要があります。
FireMonkeyプロジェクトでも、WindowsならusesにWinapi.ShellAPI, Winapi.Windowsを追加し、
ShellExecute(0, 'OPEN', PChar(url), '', '', SW_SHOWNORMAL);
で使用できます。
ところでMac OSではどうやるんでしょう?
_system
Mac OSではPosix.stdlibを使います。
uses に Posix.stdlib を追加。
_system(PAnsiChar('open ' + {コマンド} ));
{コマンド}の部分にURLを書けばSafariが起動してくれます。
カンタンでうれしい!
手続きにまとめる
OSの違いをコンパイラ指令にまとめて記述し、便利にしてみます。
uses
{$IFDEF MSWINDOWS}
Winapi.ShellAPI, Winapi.Windows
{$ENDIF}
{$IFDEF POSIX}
Posix.stdlib
{$ENDIF}
フォーム
procedure BrowserExecute(url: String);
など手続きを追加。
実現部
procedure TForm1.BrowserExecute(url: String);
begin
{$IFDEF MSWINDOWS}
ShellExecute(0, 'OPEN', PChar(url), '', '', SW_SHOWNORMAL);
{$ENDIF MSWINDOWS}
{$IFDEF POSIX}
_system(PAnsiChar('open ' + AnsiString(url)));
{$ENDIF POSIX}
end;
これで呼び出し部分で常にBrowserExecuteを使えば、OSを意識せずに立ち上げられますね。
![WorkToolSmith [ワークツールスミス]](https://worktoolsmith.com/wp/wp-content/uploads/2014/11/d30716bfc62ca82b12c303b90f356916.png)
 

