FireMonkey (Delphi XE2)のインターフェイス ( ) に新しい OS X 10.9 (Mavericks) メソッドbeginActivityWithOptions
methodを追加しようとしています。NSProcessInfo
TNSProcessInfo
機能は動作するようです。オブジェクトを返しますが、アプリケーションの App Nap を無効にするわけではありません。App Nap の状態を監視するために、Activity Monitor の Energy タブを使用しています。
に次のコードを追加しましたMacapi.Foundation.pas
。
const
NSActivityBackground = 255;
NSActivityIdleSystemSleepDisabled = 1048576;
NSActivityUserInitiated = NSActivityIdleSystemSleepDisabled or 16777215;
NSActivityLatencyCritical = 1095216660480;
type
NSActivityOptions = UInt64;
NSProcessInfo = interface(NSObject)
['{B96935F6-3809-4A49-AD4F-CBBAB0F2C961}']
...
// Added following
function beginActivityWithOptions(options: NSActivityOptions; reason: NSString): NSObject; cdecl;
...
end;
私はそれを次のように呼んでいます:
var
obj: NSObject;
reason: NSString;
options: NSActivityOptions;
begin
reason := NSSTR('...');
options := NSActivityUserInitiated or NSActivityLatencyCritical;
obj := TNSProcessInfo.Wrap(TNSProcessInfo.OCClass.processInfo).beginActivityWithOptions(options, reason);
end;
オプション フラグのさまざまな組み合わせを試しましたが、App Nap は無効になりません。何か案は?私の実装に何か問題がありますか?