2016-04-11 25 views
-1

EDOMParseError.ErrorCodeの値のリストはどこにありますか?EDOMParseErrorエラーコード

DelphiソースまたはMSDNで見つかりません。私は間違ったURLにXMLDocument.FileNameを設定している場合

たとえば、私はこのコードが定義されてい

Error code: -2146697210 
Reason: System error: -2146697210 

を持っていますか?

+0

「どこから見つけることができますか?」あなたはすでにどこを見ましたか? – MartynA

+0

更新されました。私はDelphiのソースとmsdnで検索しました –

答えて

2

TXMLDocumentのためのDOMプロバイダとしてMSXMLを使用してEDOMParseError.ErrorCode値はCOM HRESULT値です(MSXMLはCOMオブジェクトとして実装されています)。すべての可能な値を文書化する単一のソースはありません。HRESULT異なるモジュールで独自のカスタムHRESULT値を定義することができます。この場合

、-2146697210(16進0x800C0006)は、(オブジェクトが見つからなかった)INET_E_OBJECT_NOT_FOUNDある:

#define INET_E_OBJECT_NOT_FOUND   _HRESULT_TYPEDEF_(0x800C0006L)  

これはSEVERITY_ERRORの重症度MAKE_HRESULT()マクロの機能を使用して定義されたHRESULTに変換FACILITY_INTERNET、及び6のエラーコード:この特定HESULT値はURL Moniker Error Codesに記載されて

#define INET_E_OBJECT_NOT_FOUND   MAKE_HRESULT(SEVERITY_ERROR, FACILITY_INTERNET, 6) 

FACILITY_INTERNETのすべてのHRESULTの値は、UrlMonモジュールを含むWinInetライブラリに属します。 MSXMLは内部的にWinInetを使用してリモートコンテンツをダウンロードします。

0

Reasonに記載されているとおり、このエラーはシステムから発生しています。

SysErrorMessage(ErrorCode) 

必要な操作を行う必要があります。

システムからエラーが発生した場合のみ、SysErrorMessageを呼び出します。しかし今、あなたはこれを知る方法を理解する必要があります。このような理由にチェックを入れると、

if reason.StartsWith('System Error') then 
    errorMessage := SysErrorMessage(errorCode); 

可能である。しかし、(...?それは、Windowsの言語設定に依存しない)、このようにそれを行うには悪いようだ

+0

私は与えられたコードの説明は必要ありません。私は、解析に失敗した場合のためにバリアントのリストが必要です。 –

+0

私はそのようなリストがどこにあるのか分かりません。 -2146697210は$ 800C0006で、$ RobKennedyのこのコメントに関するコメントがあります。http://stackoverflow.com/questions/4346060/error-when-loading-valid-windows-1252-document-system -error-2146697210 – MartynA