【发布时间】:2015-03-04 15:32:47
【问题描述】:
在Delphi中,我想在OS X中打开一个文件,我的做法如下:
const
Filename = 'test.bmp';
procedure SaveAndOpen;
begin
Chart.SaveToBitmapFile(Filename);
{$IFDEF MSWINDOWS}
ShellExecute(0, 'open', Filename, '', '', SW_Normal);
{$ELSE}
_System(Filename);
{$ENDIF}
end;
但是什么也没发生。我做错了什么?
【问题讨论】:
-
尝试使用
_System(PAnsiChar('open ' + Filename)); -
谢谢,它有效! :-) 另一个问题,但不重要:有没有办法使用 Unicode 文件名?
-
肯定有比
_System更好的东西吗?对于 Unicode,你不会传递 UTF-8 数据吗? -
@DavidHeffernan 我不知道 POSIX 标准是否需要 _system() 内的 UTF8。我认为有一个用于打开文件的 OS X API,但我没有找到好的文档。
-
@RRUZ 你确定系统和ANSI?毕竟 ANSI 特别是 Windows。在典型的现代 *nix 系统上,
char*将采用 UTF-8 编码。
标签: macos delphi firemonkey