ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

Windows のエラーメッセージを取得 

更新 : 2010/03/07

 



解説:
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));
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.