Tôi đang làm việc trên một dự án trong delphi XE5. Các menu Popup khác nhau được tạo tại thời gian chạy bằng cách sử dụng cùng chức năng. Tên được cung cấp mỗi lần bật lên bằng cách sử dụng "Xử lý" từ lớp Tcomponent.Xử lý Delphi trong tiêu cực
popupname := 'XYZ' + IntToStr(handle);
Trên một số hệ thống tôi nhận được "xử lý" giá trị là tiêu cực, khi tôi cố gắng cung cấp cho tên với "-" ký hợp đồng với một thành phần tôi nhận được thông báo lỗi "XYZ-5645 không phải là một tên thành phần hợp lệ"
Bạn có thể gợi ý cho tôi một lối thoát không?
Trong XE3 'THandle = NativeUInt;' Lưu ý loại chưa ký. Làm thế nào nó được định nghĩa trong XE5? Bạn có chắc chắn rằng giá trị xử lý là âm? – MBo
@MBo IntToStr chấp nhận chữ ký int để có một diễn viên tiềm ẩn để ký. –
Mặc dù trên XE7, Int64 quá tải được chọn đầu tiên, vì vậy tôi nghĩ rằng bạn cần một mục tiêu 64 bit trước khi bạn có thể nhấn tình trạng này ........ Có lẽ có một bộ khác nhau của quá tải trong XE5 RTL. –