|
||
解説: SysErrorMessage 関数を使うと Win32 API ルーチンで出力されるエラーコードに対応するエラーメッセージを AnsiStrings に変換できます。 例外処理などでシステムのエラーを拾って表示させるのに便利です。 使用例: 以下の例では、レジストリに存在しないキーを削除してエラーを出力させています。 準備としては Form に Button を適当に配置してください。 Button1 をクリックすると存在しないレジストリキーを削除してエラーが出力されます。 RegDeleteKey 関数の戻り値を SysErrorMessage 関数に渡し、AnsiString の文字列を取得しています。 ※GetLastError 関数も参考にしてください。 //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { // RegDeleteKey 関数を使って存在しないキーを削除。 // この関数は正常終了で ERROR_SUCCESS それ以外でエラー値を返します。 LONG result = RegDeleteKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\MICROSOFT\\WINDOWS\\CurrentVersion\\xxxtest"); // SysErrorMessage でエラーメッセージを AnsiStrings に変換。 if (result != ERROR_SUCCESS) ShowMessage(SysErrorMessage(result)); } //------------------------------------------------------------------- |