2012-06-13 110 views
3

我的軟件依賴於Windows語言環境配置才能正常工作。配置不考慮的語言環境

我的客戶一直都設置了pt-br語言環境,並且可以正常工作。

在一個用戶的窗口中設置了正確的pt-br語言環境,但不知怎的,我的軟件獲得了我們所有的配置。 (。作爲十進制分隔符,$作爲貨幣符號等)。

我有什麼方法可以強制我的軟件在全球範圍內的區域設置?

+3

這是否是在安裝階段選擇語言環境的Windows 7的安裝?嘗試將區域設置更改爲其他內容,保存,然後再次更改。 –

+0

這可能是該Windows安裝特有的問題。不推薦強制軟件使用特定的位置。我建議你改爲調試Windows安裝/註冊表。 –

+0

不,這不是一個安裝問題,而是一個設置問題。看到我的答案。 –

回答

1

既然你有德爾福7,你可以做如下:

Application.UpdateFormatSettings:= FALSE;

這可以防止系統使用Windows默認值更新您的應用程序。

然後定義在應用程序啓動:

DecimalSeparator := '.'; // Or whatever preference you have 
CurrencyString := '$'; // Or something else 
... 
etc 

在2006 Delphi和更高此方法已被棄用和使用TFormatSettings者優先。如果部分應用程序在執行期間需要更改格式設置,它還處理重入問題。

+0

問題在於檢測系統區域設置,而不是如何在運行時設置區域設置。看到我的答案。 –

0

在Windows 7下,非Unicode應用程序的語言環境(如Delphi 7)未在控制面板的主選項卡中設置。

你將不得不去「管理」選項卡,然後選擇「更改系統區域設置」。

enter image description here

this article

1

遇到同樣的問題我找到了你的帖子。

我還發現這個線程(http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/b4f90f07-206c-494b-8d14-ee17bfa689e0)幫助了我。

這裏的方法:

如果您打開控制面板 (地球圖標)/ intl.cpl「區域和語言選項」,然後重新選擇您的區域設置它可能會 解決問題。

1)打開區域和語言選項

2)在 「格式」 挑別的。 (例如:英文(美國))。

3)按 「應用」

4)在 「格式」,選擇所需的語言環境(例如:英語(美國 英國))。

5)按​​OK。