ParamText()
は、Pascal 文字列に基づく文字列内のパラメーターを置き換える非常に古い方法です。またStandardAlert
、Unicode にも完全に対応していません。
新しいメッセージ ボックス (それほど新しいCFUserNotificationDisplayNotice
ものではない) の置き換えですが、これは予想CFString
どおりで、CFString の使用に切り替えようとすると、ParamText パラメーターの置き換えを使用できなくなることがわかりました。
Str255 alertString; // PascalString, yuck!
ParamText(NULL, NULL, minString, maxString);
localize( "A value between ^2 and ^3 is required.", &alertString );
StandardAlert( kAlertNoteAlert, (const unsigned char *)&alertString, nil, nil, &itemHit );
ParamText
が新しいダイアログで機能しなくなり、Apple がそれらの使用方法を指定するのを忘れていることがわかりました。
文字列の元のパラメータ形式を変更する必要のない代替品はありますか?