Mỗi lần một lúc tôi đang tinh chỉnh các lớp TFrame của tôi (thêm thuộc tính, phương thức, vv), IDE bị nhầm lẫn và hoạt động như thể nó nghĩ khung là một biểu mẫu, hoàn chỉnh với tiêu đề/chú thích, biên giới, vv Tuy nhiên, rõ ràng lớp được khai báo là một hậu tố TFrame. Bất kỳ ý tưởng nào về nguyên nhân gây ra điều này, cách phòng ngừa và cách khắc phục?Delphi IDE xử lý TFrame như thể nó là một Form
Tôi đang sử dụng Delphi 2007 Pro. Cũng lưu ý (nếu nó quan trọng), con cháu TFrame thường được đăng ký với IDE (tức là trên bảng màu) thông qua một gói thời gian thiết kế.
Sau đó: bổ sung "chi tiết cụ thể": Khung rằng tôi đang gặp vấn đề này với lúc này là, trực quan, một TFrame RẤT cơ bản (chỉ thay đổi từ thương hiệu TFrame mới là kích thước và màu nền).
Dưới đây là khai báo lớp của nó:
TBasePanel = class(TFrame)
private
FPanelManager: TPanelManager;
procedure SetPanelManager(const Value: TPanelManager);
protected
procedure Connect; virtual; abstract;
procedure Disconnect; virtual; abstract;
procedure Refresh; virtual;
procedure Requery; virtual; abstract;
published
property PanelManager: TPanelManager read FPanelManager write
SetPanelManager;
khung này được sử dụng như một lớp cơ sở đối với một số người khác. Tôi thường chỉnh sửa trực tiếp từ dự án BPL thuộc về (vì tất cả các khung này được cài đặt vào bảng màu), chứ không phải là một phần của dự án EXE, với các Biểu mẫu liên quan đang mở, v.v.
Ngoài ra, "Embedded designer" được chọn trong Công cụ -> Tùy chọn.
Tôi đang lưu tất cả các tệp DFM dưới dạng văn bản chứ không phải là nhị phân (nếu có vấn đề gì).
Chỉ cần cập nhật về điều này: Câu trả lời có vẻ là sự kết hợp câu trả lời của birger bên dưới CỘNG ĐỒNG tạo "Lớp khung cơ sở" không có thay đổi so với TFrame bình thường và THEN kế thừa từ đó trước khi thêm bất kỳ thuộc tính, phương thức, v.v. Dường như để ổn định việc truyền thừa kế thừa bằng cách nào đó. – Jamo