1

我们有一个 delphi 应用程序,它也可以作为服务运行。在 Windows 7 机器上将我们的应用程序作为服务运行时,我们遇到了短日期格式的问题。Delphi/Win 7 返回错误的短日期格式。无论我们选择何种语言环境,它总是返回“DD-MM-YYYY”格式。仅当我们将其作为服务运行并在 win 7 上运行时才会发生这种情况!当应用程序不作为服务运行时,我们没有问题!我们尝试了两次更改和保存格式的解决方法,但徒劳无功这里有什么帮助吗?

4

3 回答 3

2

您的服务将获取运行它的用户帐户的区域设置。我的猜测是您将服务作为 LOCALSYSTEM 运行。如果您将服务配置为作为交互式用户运行,那么您将获得所需的区域设置。

于 2012-04-07T10:27:37.487 回答
0

如果您的服务需要某种日期格式,请在服务创建事件上使用 ShortDateFormat 全局变量设置格式。当您安装 Windows 7 时,您选择了国家和默认系统格式。安装后,您可以更改用户格式,但不能更改系统格式。也许通过一些注册表黑客你可以。

于 2012-04-07T16:55:59.767 回答
0

您永远不应依赖用户区域设置进行数据处理。

如果必须使用固定格式处理数据,请创建一个显式实例 TFormatSettings并使用将 aTFormatSettings作为第二个参数的 SysUtils 过程/函数。

出于显示目的,情况恰恰相反,用户希望应用程序使用控制面板中的区域设置。

于 2013-02-01T17:20:49.817 回答