サービスとしても実行できるdelphiアプリケーションがあります。Windows 7マシンでアプリケーションをサービスとして実行しているときに、shortdate形式に問題があります。Delphi /Win7は間違ったshortdate形式を返します。選択したロケールに関係なく、常に「DD-MM-YYYY」形式を返します。これは、サービスとして実行し、Win7で実行した場合にのみ発生します。アプリケーションがサービスとして実行されていない場合、問題はありません。フォーマットを2回変更して保存するという回避策を試しましたが、無駄でした。ここで何か助けはありますか?
1594 次
3 に答える
2
サービスは、それが実行されているユーザーアカウントのロケール設定を取得します。私の推測では、あなたはLOCALSYSTEMとしてサービスを実行しています。インタラクティブユーザーとして実行するようにサービスを構成すると、必要なロケール設定が得られます。
于 2012-04-07T10:27:37.487 に答える
0
サービスに何らかの日付形式が必要な場合は、サービスの作成イベントで ShortDateFormat グローバル変数を使用して形式を設定します。Windows 7 をインストールするときに、国と既定のシステム形式を選択しました。インストール後、ユーザー形式は変更できますが、システム形式は変更できません。たぶん、レジストリのハッキングがあればできます。
于 2012-04-07T16:55:59.767 に答える
0
データ処理のためにユーザー ロケールに依存しないでください。
固定フォーマットを使用してデータを処理する必要がある場合は、 の明示的なインスタンスを作成し 、2 番目のパラメータとしてTFormatSettings
を受け取る SysUtils プロシージャ/関数を使用します。TFormatSettings
表示目的では、ユーザーはアプリケーションがコントロール パネルからロケール設定を使用することを期待します。
于 2013-02-01T17:20:49.817 に答える