出于更新目的,我创建了一个启动器(Windows/OSX)来启动主应用程序。
在 Windows 下它工作正常,但在 OSX 下,主应用程序没有启动以下代码。
_system(PAnsiChar('open ' + UTF8String(ExtractFilePath(ParamStr(0))+ 'mainapp')));
出于更新目的,我创建了一个启动器(Windows/OSX)来启动主应用程序。
在 Windows 下它工作正常,但在 OSX 下,主应用程序没有启动以下代码。
_system(PAnsiChar('open ' + UTF8String(ExtractFilePath(ParamStr(0))+ 'mainapp')));
您的字符串类型转换错误。这应该有效:
_system(PAnsiChar(UTF8String('open ' + ExtractFilePath(ParamStr(0))+ 'mainapp')));
如果文件名包含空格,我发现即使更正的类型转换也不充分,但我发现以下内容适用于 OSX:
_system(PAnsiChar(UTF8String('open ' + QuotedStr(ExtractFilePath(ParamStr(0))+ 'mainapp'))));
或者在我的情况下,确切的代码是
_system(PAnsiChar(UTF8String('open ' + QuotedStr(SaveDialog.Filename))));