PDA

View Full Version : Build Project thành nhiều DLL



man_quangnam
02-05-2008, 20:59
Thông thường khi Build Project, tất cả được build chung vào một file EXE, như vậy khi chạy chương trình, sẽ load tất cả vào bộ nhớ. Giờ mình muốn build sao cho từng form được load riêng lẻ, khi cần mới load. Trong VS 2005 có tùy chọn nào làm được như vậy không ?

gianhut
03-05-2008, 14:36
có. mỗi form đc cho vào 1 project riêng, như vậy đảm bảo ra DLLs ;)

kooltech
03-05-2008, 16:04
Bạn tiếp cận vấn đề như thế là không đúng.

Việc chia thành nhiều dll ở kiến trúc của hệ thống, chia làm sao cho dễ phát triển, triển khai và nâng cấp (có thể áp dụng các pattern hoặc principle) chứ còn việc load cả exe hay không là do MS đảm nhiệm.

man_quangnam
05-05-2008, 08:36
Nhưng rõ ràng nếu cứ build hết vào một file exe thì nó sẽ load cả lên bộ nhớ mà ? Biết là dễ phát triển, triển khai, nâng cấp thì mới được, nhưng cũng phải làm sao để giảm thiểu sử dụng tài nguyên hệ thống chứ? Cứ tưởng tưởng một ứng dụng có cả trăm form, nó load toàn bộ lên bộ nhớ, thì máy cấu hình bình thường chạy rề rà kinh khủng bác ạ.

Xem ra có lẽ phải chia thành nhiều Project ?

tandaica0612
05-05-2008, 09:50
ủa em hơi gà một chút , tưởng cả cục .exe là chỉ load các cái nào là static và trong hàm main() khởi tạo thui chứ nhỉ , mong được các bác chỉ bảo thêm T_T

nowforever
06-05-2008, 00:09
Theo mình thì bạn tan không có gà. Chỉ khi nào new 1 cái form thì form đó mới được cấp phát bộ nhớ -> Có thể đem vào sử dụng. Còn nếu không có new thì chả có chuyện gì xảy ra cả -> Không có chuyện load hết vào bộ nhớ.

man_quangnam
06-05-2008, 12:05
Chuyện cấp phát bộ nhớ cho đối tượng là một chuyện, còn như những định nghĩa về lớp, đối tượng thì nó phải load lên trước chứ bác ? Nếu nói như bác, cần gì phát minh ra cái địa ngục DLL ? Để tui test lại rồi sẽ báo lại sau vậy .

sonC0609k
06-05-2008, 17:26
Theo mình thì bạn tan không có gà. Chỉ khi nào new 1 cái form thì form đó mới được cấp phát bộ nhớ -> Có thể đem vào sử dụng. Còn nếu không có new thì chả có chuyện gì xảy ra cả -> Không có chuyện load hết vào bộ nhớ.

chính con nhà bà xác
máy nóa chỉ có chạy hàm main mà thôi, cứ chạy đến đâu thì nó lại khai báo mới, hết đoạn lệnh đó thì nó hủy luôn cái biến đó đi
Mà nói chung ông chủ topic này chưa định hình rõ để file dll làm cái gì , câu hỏi thực sự hơi "ngơ"