2017-11-13 29 views
5

Tôi có một ứng dụng mà tôi bắt ngoại lệ và hiển thị văn bản tin nhắn cho người dùng như một phần của thông báo lỗi. Mặc dù RAD Studio (10.1) được đặt thành tiếng Anh và ID miền địa phương được đặt thành 409 tiếng Anh trong tùy chọn Phiên bản thông tin cho tất cả Mục tiêu thông báo lỗi là đầu ra bằng tiếng Đức. Điều này xảy ra cả trên một máy tính Windows 10 của Đức và các máy Windows khác với các ngôn ngữ khác, ngay cả một khách hàng Nhật Bản cũng có được điều này.Delphi Ngoại lệ nội dung tin nhắn bằng ngôn ngữ không chính xác

Ngoại lệ là ngoại lệ của hệ thống như không mở được tệp, không tìm thấy tệp, nhưng có vẻ như nó xảy ra trên tất cả các loại ngoại lệ mà tôi không tăng với văn bản thư của riêng mình.

Dự án đã được di chuyển từ Delphi 2007 gần đây và tôi phải làm một số thủ công dọn sạch trong các tệp dự án liên quan đến số phiên bản. Nhưng kiểm tra Locale trong tập tin dự án cho thấy không có gì ngạc nhiên: 1033 -> $ 0409 - Tiếng Anh.

Trường hợp có thể là lý do cho thông điệp của Đức?

+2

* delphi-10.1 - ** berlin ***. Không, không thể nào. ;-) Nhưng có lẽ bạn có cấu hình xây dựng khác nhau (như gỡ lỗi/phát hành 32bit/64bit), và đã thiết lập ngôn ngữ chính xác cho một số nhưng không phải tất cả. – GolezTrol

+3

Tôi lấy nó ứng dụng này được xây dựng trên một máy Đức? – Dsm

+0

Chắc chắn là không: Tất cả các cấu hình đều có cùng giá trị cho ID ngôn ngữ. –

Trả lời

1

Sau khi tìm kiếm giải pháp mỗi lần tôi có thể dành vài phút trong những ngày qua, tôi đã giải quyết nó!

Khi sử dụng công cụ BDSSetLanguage.exe trong thư mục bin của Rad Studio, bạn không chỉ có thể thay đổi ngôn ngữ của IDE mà còn có thể thay đổi ngôn ngữ của thư viện. IDE được đặt thành tiếng Anh và Thư viện được đặt thành tiếng Đức. Đặt ngôn ngữ của thư viện thành tiếng Anh đã giải quyết được vấn đề.

Nhờ @mrabat gửi cho tôi đúng hướng. Nhưng vì mẹo của anh ta chỉ là một hack chứ không phải là một giải pháp lâu dài, tôi nghĩ rằng tôi không thể đưa ra bất kỳ khoản tín dụng chính thức nào ở đây.

Các vấn đề liên quan