4

こんにちは私はWindowsXPPro、Windows Visa、Windows7でうまく機能するアプリケーションを持っています

しかし、Windows XP Embeddedで実行すると、機能せず、次のエラーが発生します。

EEncodingError-無効なコードページ

アプリがDelphi2006で作成された場合、WindowsXPが埋め込まれている場合に機能します

**アプリがDelphi2010で作成されている場合、**WindowsXPが埋め込まれている場合は機能しません****

4

2 に答える 2

4

このTEncoding.ASCIIプロパティは、デフォルトでXPEmbeddedにインストールされていないコードページ20127を使用します。手動でインストールする必要があります。このTEncodingクラスはD2006には存在しません。

たまたまインディ10を使っていますか?TEncoding.ASCIIデフォルトでは、文字列エンコーディングに使用します。この正確なエラーは、XPEmbeddedでIndyを使用しているときに発生することが知られています。

于 2010-06-10T08:06:16.580 に答える
0

いつクラッシュしますか?起動時、またはそれ以降?

そのエラーは、少なくともRTLの1か所でのみ検出されます。SysUtilsではconstructor TMBCSEncoding.Create(CodePage, MBToWCharFlags, WCharToMBFlags: Integer);、文字列エンコーディングを設定するためにTEncodingによって呼び出されます。

パラメータを受け取り、GetCPInfoCodePageを呼び出します。失敗すると、この例外が発生します。MSDNのドキュメントと例外メッセージから、おそらく何が起こっているのかというと、アプリがXPEmbeddedでサポートされていないマルチバイト文字セットの文字列を使用しようとしているということです。別のアルファベットを使用する外国語の文字列やテキスト作業で何か変わったことをしていますか?

于 2010-06-09T16:51:39.043 に答える