Tôi có biểu mẫu chính (phụ huynh) MDI và biểu mẫu con MDI. Tôi tạo ra đứa trẻ trong thời gian chạy như thế này:"Không thể tạo biểu mẫu. Không có biểu mẫu MDI hiện đang hoạt động" lỗi
VAR
FrmDereplic: TFrmDereplic;
procedure TMainFrm.Button2Click(Sender: TObject);
begin
FrmDereplic:= TFrmDereplic.Create(MainFrm);
FrmDereplic.Show;
end;
bước để sao chép các lỗi:
tôi bắt đầu ứng dụng, tôi nhấn vào nút để tạo ra đứa trẻ, tôi nhấn nút 'x' trên chính (mẹ) để đóng ứng dụng và tôi nhận được lỗi "Không thể tạo biểu mẫu. Hiện không có biểu mẫu MDI nào đang hoạt động".
Dòng mà trên đó các lỗi xuất hiện ở dạng con:
procedure TFrmDereplic.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:= caFree;
end;
procedure TFrmDereplic.FormDestroy(Sender: TObject);
VAR MyIniFile: TCubicIniFile;
begin
MyIniFile:= TCubicIniFile.Create(AppINIFile);
TRY
with MyIniFile DO
begin
if WindowState<> wsMaximized then
begin
// save form's screen pos
...
end;
WriteInteger ('Dereplicator', 'fltExtensions', fltExtensions.ItemIndex); <----- HERE
FINALLY
FreeAndNil(MyIniFile);
END;
end;
tôi tiết kiệm rất nhiều tính hình thức (và đặc tính điều khiển khác) đến tập tin INI. Nhưng nó chỉ thất bại khi tôi cố gắng tiết kiệm fltExtensions.ItemIndex (là một TFilterComboBox). Nếu tôi bình luận rằng dòng nó hoạt động hoàn hảo.
Bất kỳ ý tưởng nào tại sao nó cố gắng tạo biểu mẫu khi tôi thực sự đóng ứng dụng ?????????
OP đến kết luận này ba giờ trước khi bạn đăng bài. –
@Andreas - Tôi muốn đánh dấu bài đăng của mình là đã được giải quyết nhưng StackOverflow khiến tôi đợi 2 ngày. Dù sao, tốt đẹp của nó mà người khác xác nhận giải pháp của tôi. Nó có nghĩa là nó là tốt. – Ampere
@ Vicens - Xin lỗi. Nó thực sự là MainForm thay vì TMainForm. Tôi đã nhập lỗi khi tôi nhập mã. Trong mã của tôi, biểu mẫu có một tên khác. Tôi đã đổi tên thành MainForm để làm cho mã dễ hiểu hơn (biểu mẫu chính = biểu mẫu gốc của biểu mẫu con). Xin lỗi lần nữa. Xin lưu ý rằng Self sẽ không hoạt động !! Nó thực sự tương đương với mã ban đầu (lỗi) của tôi. Tại sao? Bởi vì Self = MainForm. – Ampere