2011-02-01 15 views
6

Tôi có một biểu mẫu có tên MyForm được lưu trữ trong một đơn vị có tên là Unit UnitMyFrom. Tất nhiên Delphi tự động thêm mã này:Có an toàn khi xóa biến biểu mẫu do IDE tạo không?

TYPE 
    TMyForm = class(TForm) 
    private 
    public 
end; 

var MyForm: TMyForm; 

nhưng tôi đã xóa khai báo var khỏi đơn vị đó. Ai đó nói rằng điều này có thể gây ra vấn đề với IDE. Có đúng không? IDE có yêu cầu biến đó không?


EDIT:

Các MyForm KHÔNG tự động tạo ra. Người dùng tạo biểu mẫu đó khi chạy.

Trả lời

13

tôi không sử dụng tính năng tự động tạo ra và tôi không bao giờ sử dụng các biến toàn cầu chứa tài liệu tham khảo mẫu. Nó hoạt động tốt.

+0

Cảm ơn bạn đã xác nhận. Tôi cũng vậy. +1 – Ampere

+1

+1. Tôi muốn có một tùy chọn để ** không tự động thêm các biểu mẫu mới vào danh sách tự động tạo. Tôi muốn có một lựa chọn để ** không ** tạo ra phiền phức "var". Oh well ... –

+0

@Cosmin Có một tùy chọn. Nó được gọi là "Tự động tạo biểu mẫu và mô-đun dữ liệu". Nó dường như không có tác dụng gì cả !! Rõ ràng là tôi không làm đúng, hoặc hiểu nhầm tài liệu. –

3

Tôi sẽ nói có khi bạn muốn tạo biểu mẫu tự động, vì bạn cần chuyển biến này cho phương thức TApplication.CreateForm.

+3

Hoặc chính xác hơn, đó là những gì _IDE_ muốn thực hiện khi bạn thêm biểu mẫu vào biểu mẫu được tự động xử lý. Nếu bạn muốn tự mình làm, bạn có thể đặt biến bất cứ nơi nào bạn muốn. Bạn không nên sử dụng quá nhiều autocreation anyway. –

+0

vui lòng xem chỉnh sửa của tôi – Ampere

+0

Cảm ơn bạn đã xác nhận. +1 – Ampere

7

Xóa dòng Application.CreateForm(TMyForm, MyForm); trong tệp .dpr dự án và bạn sẽ không gặp bất kỳ sự cố nào.

Nếu bạn không tạo ra các hình thức tự động, sau đó bạn sẽ không có bất kỳ vấn đề

+0

Vui lòng xem cập nhật của tôi. – Ampere

+1

@Altar: Sau đó, sẽ không có bất kỳ vấn đề nào – Bharat

+0

Cảm ơn bạn đã xác nhận. +1 – Ampere

3

Chuyển đến Tùy chọn dự án và đảm bảo biểu mẫu không được tạo tự động. Sau đó, bạn có thể xóa biến mẫu biểu mẫu một cách an toàn. (Nếu không, bạn sẽ chỉ nhận được một lỗi biên dịch.)

+0

Xin chào. Tôi không tự động tạo biểu mẫu đó. +1 – Ampere

2

Bạn có thể muốn duy trì dòng này trong uses hoặc contains khoản trong DPR-file:

Unit1 in 'Unit1.pas' {Form1}; 

Nếu bạn (hoặc IDE) xóa {Form1} -comment, sau đó biểu mẫu của bạn sẽ không xuất hiện trong danh sách Shift+F12 - chỉ trong danh sách Ctrl+F12.

+0

+1; Tôi đã nhìn thấy rất nhiều dự án vít này lên (bởi vì mọi người nghĩ rằng họ sở hữu.dpr; bạn không: IDE sở hữu DPR, bạn sở hữu các đơn vị. Mọi người gắn bó tất cả các quy tắc và quy ước đặc biệt của họ trong "MainUnit"). –

+4

@Jeroen Vâng, tôi không đồng ý. IDE vít nó lên. Tôi muốn bao gồm điều kiện của các đơn vị trong dự án của tôi (ví dụ: chuyển đổi giữa các trình quản lý bộ nhớ khác nhau, hỗ trợ các phiên bản khác nhau của Delphi). IDE vít này lên. Tôi cần sự kiểm soát tốt hơn đối với việc tạo và phá hủy biểu mẫu hơn IDE được tạo ra cho phép, và cũng cần phải làm việc xung quanh một số lỗi VCL liên quan đến điều đó. –

+0

Có, tôi vẫn có dòng đó trong tệp DPR. – Ampere

1

tôi xóa chúng & đã hoạt động theo cách đó trong một thời gian (tôi không tự tạo hoặc sử dụng biến cho hầu hết các biểu mẫu).

Các vấn đề liên quan