Tôi có các chức năng tôi muốn thực hiện sau khi ứng dụng của tôi đã hoàn thành việc khởi tạo và biểu mẫu chính đã được tạo. Tôi đã có mã (gọi nó là ProcedureX) trong các sự kiện OnShow hình thức, nhưng tôi đã chỉ nhận thấy rằng nó đang được gọi hai lần, bởi vì OnShow là bắn hai lần. Nó kích hoạt khi chương trình chính DPR gọi:Tôi nên đặt mã để thực hiện một lần sau khi ứng dụng Delphi của tôi đã hoàn thành việc khởi tạo?
Application.CreateForm(TMainForm, MainForm) ;
như tôi mong đợi. Nhưng sau đó, khi tôi đọc nội dung từ tệp INI bao gồm các biểu mẫu trên màn hình, tôi có cuộc gọi:
MainForm.position := poScreenCenter ;
Điều này sẽ xuất hiện sự kiện OnShow lần nữa.
Tôi có thể thực hiện cuộc gọi đến ProcedureX ở đâu, chỉ được gọi một lần và cần phải tạo biểu mẫu chính nào trước khi có thể thực thi?
tôi làm theo quy ước "lĩnh vực tiền tố với một F", do đó FRunOnce âm thanh chuẩn hơn đối với tôi. Không phải là một quy tắc, chỉ là một quy ước, như tên lớp tiền tố với T. Chỉ cần làm cho mã của người khác dễ đọc hơn. – jachguate
@jachguate - Khi có chữ 'F', tôi cảm thấy như nó cần phải có bộ thu thập thông tin. Nhưng đó là vấn đề của tôi, tôi đoán ... Đã chỉnh sửa câu trả lời, cảm ơn vì đã chỉ ra. –
OK, tôi đã nghĩ đến việc đó, nhưng nó có vẻ như điều trị triệu chứng, chứ không phải nguyên nhân. Tôi đoán tôi đang tìm kiếm một số sự kiện khác (như "OnEverythingFinished") mà chỉ bị sa thải một lần. Những gì tôi nghe là không có gì! Cảm ơn bạn đã giúp đỡ. FRunOnce nó được. – rossmcm