我們有一個delphi應用程序,它也可以作爲服務運行。在Windows 7機器上運行我們的應用程序作爲服務時,我們遇到了shortdate格式的問題。 Delphi/Win 7返回一個錯誤的shortdate格式。它始終返回「DD-MM-YYYY」格式,與我們選擇的區域設置無關。只有當我們將它作爲服務運行並贏得勝利7時纔會發生這種情況!當應用程序不作爲服務運行時,我們沒有問題! 我們嘗試了兩次更改和保存格式的解決方法,但徒勞 這裏的任何幫助?當delphi應用程序作爲服務運行時錯誤的shortdate格式
1
A
回答
2
您的服務將獲得所運行用戶帳戶的區域設置。我的猜測是你作爲LOCALSYSTEM運行服務。如果將服務配置爲以交互式用戶身份運行,那麼您將獲得所需的語言環境設置。
+1
本地系統帳戶的默認安全策略與「普通」用戶帳戶的默認安全策略不同。例如,網絡訪問默認在本地系統帳戶下不可用。根據該區域的要求,您需要選擇或創建服務運行時需要注意的帳戶。 – 2012-04-07 12:09:59
0
如果您的服務需要某種日期格式,請在服務創建事件中使用ShortDateFormat全局變量設置您的格式。當你安裝Windows 7時,你選擇了國家和默認的系統格式。安裝後,您可以更改用戶格式,但不能更改系統格式。也許有一些註冊表黑客可以。
0
您不應該依賴用戶區域設置進行數據處理。
如果必須使用固定格式處理數據,請創建一個明確的TFormatSettings
實例,並使用將TFormatSettings
作爲第二個參數的SysUtils過程/函數。
出於顯示的目的,情況恰恰相反,用戶希望應用程序使用控制面板中的區域設置。
相關問題
- 1. 當應用程序作爲服務運行時,AcceptSecurityContext失敗
- 2. 將Java應用程序作爲Windows 7服務運行時獲取「GPG錯誤」
- 3. 日期時間格式時,應用程序作爲Windows服務
- 4. 作爲Windows服務運行的命令行應用程序。獲取錯誤1053
- 5. 運行程序時的Android應用程序運行時錯誤
- 6. 運行OpenJMS服務器作爲嵌入式應用程序
- 7. 爲web應用程序運行tomcat服務器時出錯
- 8. 當ASPX運行時服務器錯誤
- 9. 作爲Windows服務運行的控制檯應用程序會引發錯誤
- 10. 當程序作爲服務運行時重定向std :: cout
- 11. 運行Java應用程序作爲Windows服務(使用jsl) - 安裝時出錯
- 12. 運行Java應用程序作爲服務 - 啓動錯誤捕獲?
- 13. 作爲windows服務運行時應用程序的奇怪行爲
- 14. 在服務器上運行java應用程序的錯誤
- 15. 運行時錯誤Java應用程序
- 16. CurrencyWidget應用程序運行時錯誤
- 17. QT應用程序運行時錯誤?
- 18. Android應用程序運行時錯誤
- 19. 當應用程序未運行時撥打服務電話iOS
- 20. 與ndk運行Android應用程序時的運行時錯誤
- 21. C#運行控制檯應用程序作爲Windows服務 - 該服務沒有響應錯誤
- 22. 運行的應用程序作爲服務於Android
- 23. 打印作爲Windows服務運行的腳本/應用程序
- 24. 將應用程序作爲服務運行的優點
- 25. 在服務器錯誤中運行.jar應用程序
- 26. Log4net錯誤應用程序在服務器上運行
- 27. 以Windows服務報告運行應用程序COM錯誤80040154
- 28. 運行.NET程序作爲服務
- 29. 作爲Web應用程序在Web服務器上運行Java應用程序?
- 30. 在Tomcat服務器上運行Web應用程序時出錯
發佈將日期轉換爲字符串的代碼。 – ChrisF 2012-04-07 10:23:59
@David,yup,我意識到,這就是爲什麼我隨着評論消失的原因。 – TLama 2012-04-07 10:31:18