Tôi có một hình thức delphi 7:Delphi 7 - Tại sao Windows 7 thay đổi mã hóa các ký tự trong thời gian chạy?
Form http://i44.tinypic.com/13ymott.jpg
và mã của tôi:
Code http://i44.tinypic.com/x1gh9c.jpg
khi tôi chạy hình thức này trong Windows 7, tôi thấy:
Windows7Form http://i41.tinypic.com/riglzl.jpg
Trong thời gian thiết kế, biểu mẫu có chữ cái đánh bóng trong linh sam t nhãn, nhưng nó không có chúng trong thời gian chạy. Có vẻ ok trên Vista hoặc Windows XP. Khi tôi đặt chú thích của nhãn thứ hai trong mã, mọi thứ hoạt động tốt và các ký tự được mã hóa chính xác.
5 mã đầu tiên của nhãn hàng đầu trên Windows 7: 65 97 69 101 83
First 5 quy tắc ứng nhãn hàng đầu trên Windows Vista/XP: 165 185 202 234 140
5 mã Trước nhãn đáy trên mọi hệ thống: 165 185 202 234 140
Windows 7 thay đổi mã hóa, tại sao? Cài đặt hệ thống của tôi có vẻ ổn. Tôi đã đặt ngôn ngữ thích hợp cho các ứng dụng không phải unicode trong bảng điều khiển.
EDIT
Vấn đề này không chỉ liên quan với các nhãn trên hình thức, mà còn với FastReport (nơi chuyển sang EASTERN_CHARSET giải quyết vấn đề) hoặc với accesing Microsoft Excel thông qua giao diện COM.
Tôi không quen với Delphi, nhưng có thể Trình thiết kế biểu mẫu cho phép chỉ định mã hóa khác với mã hóa mặc định của bạn (ví dụ: Windows-1250) không? Và phiên bản nào của Delphi là cái này? Hỗ trợ Unicode IIC đã được thêm vào chỉ gần đây ... –
@ 0xA3 Đây là Delphi 7 và nó không phải là ứng dụng unicode, nhưng tôi thiết lập ngôn ngữ đánh bóng cho các ứng dụng không unicode trong cài đặt khu vực. Đó là lý do tại sao Label2 hiển thị chính xác, nhưng đầu tiên vẫn không hoạt động. – LukLed
Bạn đã kiểm tra xem Label1 và Label2 đã được xác định trong DFM chưa? Làm thế nào là Label1.caption lưu trong DFM? –