Tôi có một đối tượng mở rộng từ TFrame. Điều này chứa một TCombobox.Tại sao đối tượng TStrings của tôi bị hủy trước khi trình phá hủy của tôi có cơ hội chạy?
Tôi muốn đảm bảo tôi giải phóng mọi đối tượng liên quan khi khung của tôi bị hủy. Tuy nhiên khi destructor của tôi được chạy tôi có thể truy cập vào combobox, nhưng nó đã bị xóa sổ.
Điều gì sẽ làm việc này? Làm thế nào tôi có thể truy cập các mục trong destructor?
trình phá hủy của tôi trông như thế này;
destructor TfraImportAttachments.Destroy;
begin
MessageDlg(IntToStr(cboCategory.Items.count), mtInformation, [mbOK], 0);
FreeObjects(cboCategory.Items);
inherited;
end;
Hiển thị một số mã. – Lloyd
Biểu mẫu chính của tôi sở hữu khung, khi OnDestroy được gọi cho biểu mẫu chính các mục tồn tại, nhưng sau đó destructor của tôi bị sa thải và chúng biến mất. Vì vậy, một cái gì đó phải xảy ra inbetween. – srayner
IRC, với khung hình không có thời gian chính xác của sự sáng tạo và hủy diệt - có thể đó là vấn đề. – iamjoosy