我们有一个delphi应用程序,它也可以作为服务运行。在Windows 7计算机上将我们的应用程序作为服务运行时,我们遇到了短期格式的问题。 Delphi / Win 7返回错误的短期格式。无论我们选择何种语言环境,它始终返回“DD-MM-YYYY”格式。只有当我们作为服务运行并且在win 7上运行时才会发生这种情况!当应用程序不作为服务运行时,我们没有问题! 我们尝试了两次更改和保存格式的解决方法,但是徒劳无功 这里有什么帮助?
答案 0 :(得分:2)
您的服务将获取其运行的用户帐户的区域设置。我的猜测是你正在运行LOCALSYSTEM服务。如果将服务配置为以交互式用户身份运行,那么您将获得所需的区域设置。
答案 1 :(得分:0)
如果您的服务需要某种日期格式,请在服务创建事件上使用ShortDateFormat全局变量设置您的格式。安装Windows 7时,您选择了国家/地区和默认系统格式。安装后,您可以更改用户格式,但不能更改系统格式。也许你可以使用一些Registry hackings。
答案 2 :(得分:0)
您永远不应该依赖用户区域设置来进行数据处理。
如果必须使用固定格式处理数据,请创建TFormatSettings
的显式实例,并使用以TFormatSettings
作为第二个参数的SysUtils过程/函数。
出于显示目的,它完全相反,用户希望应用程序使用控制面板中的区域设置。