Đăng ký Đăng nhập
Trang chủ Xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình...

Tài liệu Xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình

.PDF
101
390
124

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP KỸ THUẬT CÔNG NGHỆ KHOA CÔNG NGH Ệ THÔNG TIN = = =  = = = H LUẬN VĂN TỐT NGHIỆP C ĐỀ TÀI: H U TE XÂY DỰNG HỆ THỐNG HỖ TRỢ TRA CỨU LỖI LẬP TRÌNH GVHD : NGUY ỄN CHÁNH THÀNH SVTH : NGUY ỄN DUY HÒA– MSSV: 10102062 VÕ ĐỨC HIỀN– MSSV: 10102056 LỚP : 01CNPM Thaønh phoá Hoà Chí Minh, Thaùng 01 - 2006 LỜI CẢM ƠN Luận văn tốt nghiệp là một trong những sự kiện quan trong đ ời người , và ngày hôm nay chúng emã đ hoàn thành được điều ấy. Và điều mà chúng em muốn nói đến đầu tiên là lời chân thành cảm ơn sâu sắc đến bậc thầy cô, nhất là tất cả thầy cô giáo trường Đại Học Kỹ thuật Công Nghệ, đặc biệt là đội ngũ thầy cô giáo khoa Công Nghệ Thông Tin đã tận tình dạy dỗ, truyền đạt những kiến thức vô cùng quý báo để cho chúng em H có thể hoàn thành được đề án tốt nghiệp như ngày hôm nay. C Và đặc biệt cảm ơn đến thầy Nguyễn Chánh Thành, người đã tận tình hướng dẫn chúng em thực hiện tốt đề TE tài này. Và cũng xin gởi lời cảm ơn đến các bạn, những người đã có những gớp ý chân thành và quý giá trong quá trình thực hiện đề tài này. U Dù có nhiều nổ lực trong quá trình hiện th ực đề lần đầu tiên nên cũng khó tránh khỏi H tài, nhưng ở những vương mắc và sai sót. Chúng em rất mong nhận được những ý kiến đóng góp, và sự hướng dẫn chân tình của quý thầy cô. Xin chân thành cảm ơn. TP .HCM, Tháng 1 / 2006 MỤC LỤC  Chương I: GIỚI THIỆU VỂ ĐỀ TÀI1 I. Giới thiệu1 II.Chức năng1 H U TE C H Chương II: KIẾN THỨC MÔI TRƯỜNG PHÁT TRIỂN VÀ ADD-IN2 I. Môi trường phát triển DTE2 I.1. Đối tượng DTE2 I.2. Thêm một tham chiếu tới không gian tên EnvDTE4 I.3. Tham chiếu đối tượng DTE 5 I.4. Những đối tượng chính trong project5 I.4.1. Đối tượng Events5 I.4.2. Đối tượng BuildEvents6 I.4.3. Đối tượng CommandEvents7 I.4.4. Đối tượng TaskListEvents8 I.4.5. Đối tượng OutputWindowEvents9 I.4.6. Đối tượng Window10 I.4.7. Đối tượng OutputWindowPane10 II. Kỷ thuật Add-In11 II.1. Tạo một đối tượng Add-in12 II.2. Các bước tạo đối tượng Add-in bằng Wizard12 II.3. Kết quả các lệnh của đối tượng Add-in14 II.4. Để phục hồi các lệnh của đối tượng Add-in tới menu14 II.5. Điều khiển đối tượng Add-In với Add-In Manager15 II.6. Để nạp một đối tượng Add-In ngay tức thì16 II.7. Chỉ định Add-in nạp lên khi môi trường khởi động16 II.8. Triệu gọi các đối tượng Add-In thông qua dòng lệnh Devenv17 II.9. Đăng ký đối tượng Add-In17 II.10.Các sự kiện chính trong Add-In project19 II.10.1. Phương thức OnConnect19 II.10.2. Phương thức OnStartupComplete21 II.10.3. Phương thức OnAddInsUpdate22 II.10.4. Phương thức OnBeginShutdown23 II.10.5. Phương thức OnDisconnection24 Chương III: KIẾN THỨC WEB SERVICE26 I. Giới thiệu về Web Service26 I.1. Vấn đề chia sẽ dữ liệu26 I.2. Giải quyết bằng phát triển các ứng dụng phân tán26 I.3. Web Service27 I.3.1. Các đặc điểm của Web service27 I.3.2. Lợi ích khi sử dụng Web service28 H U TE C H II. Cơ sở hạ tầng Web Services28 II.1. Các chuẩn và giao thức28 II.2. Các thành phần của Web service29 II.2.1. Web service Directories29 II.2.2. Web service Discovery30 II.2.3. Web service Description30 II.2.4. Web service Wire Format30 II.3. Giao tiếp giữa Client và Web service31 III. Giao thức triệu gọi Web Services31 III.1. HTTP-GET31 III.2. HTTP-POST33 III.3. SOAP33 IV. Xây dựng, triển khai và sử dụng Web Service34 IV.1. Xây dựng Web service34 IV.2. Triển khai Web service36 IV.2.1. Triển khai Web service bằng cách copy36 IV.2.2. Các thành phần được triển khai trong Web service37 IV.2.3. Sử dụng Web service38 IV.2.3.1 Thêm Web Reference vào ứng dụng khách(client)38 IV.2.3.2 Phát sinh lớp Proxy40 IV.2.3.3 Tạo một đối tượng của lớp Proxy41 IV.2.3.4 Truy xuất Web Service sử dụng một đối tượng proxy42 V. Bảo mật42 V.1. Authentication43 V.1.1. Anonymous Access44 V.1.2. Windows Authentication45 V.1.2.1. Role - Base Security45 V.1.2.2. Basic Authentication46 V.1.2.3. Digest Authentication46 V.1.2.4. Integrated Windows Authentication47 V.1.3. Passport Authentication47 V.1.4. Form Authentication47 V.1.4.1. Login Form48 V.1.4.2. Định dạng IIS48 V.1.4.3. Định dạng ASP.NET49 V.2. Authorization49 V.2.1. File Authorization49 V.2.2. URL Authorization50 Chương IV: PHÂN TÍCH - THIẾT KẾ - THỰC HIỆN52 I. Phân tích52 I.1. Nhiệm vụ52 I.2. Phương án52 I.2.1. Xây dựng ứng dụng Admin Website và Web Service theo mô hình đa tầng52 I.2.2. Xây dựng Web Client theo mô hình phân tán H U TE C H sử dụng công nghệ Web Service54 I.2.3. Sử dụng hệ quản trị cơ sở dữ liệu SQL Server 200054 I.2.4. Ngôn ngữ sử dụng: ASP.NET54 I.2.5. Phân tích các nghiệp vụ của hệ thồng bằng ngôn ngữ UML55 I.2.6. Xây dựng add-in55 II. Thiết kế và thực hiện56 II.1. Thiết kế cơ sở dữ liệu56 II.1.1. Biểu đồ quan hệ56 II.1.2. Các bảng dữ liệu của hệ thống58 II.1.2.1. Bảng ErrorCode58 II.1.2.2. Bảng ErrorItems58 II.1.2.3. Bảng Items58 II.1.2.4. Bảng Chapters58 II.1.2.5. Bảng Parts59 II.1.2.6. Bảng Books59 II.1.2.7. Bảng Users59 II.1.3. Các StoreProcedure59 II.2. Phân tích hệ thống61 II.2.1. Sơ đồ họat động61 II.2.2 Sơ đồ tuần tự chức năng của Add-in63 II.2.3. Sơ đồ tuần tự chức năng Web Admin64 II.2.3.1. Sơ đồ tuần tự chức năng quản lý sách64 II.2.3.2. Sơ đồ tuần tự chức năng quản lý phần trong sách65 II.2.3.3. Sơ đồ tuần tự chức năng quản lý chương66 II.2.3.4. Sơ đồ tuần tự chức năng quản lý mục67 II.2.3.5. Sơ đồ tuần tự chức năng quản lý lỗi68 II.2.3.6. Sơ đồ tuần tự chức năng quản lý thêm mục vào lỗi69 II.2.3.7. Sơ đồ tuần tự chức năng quản lý chi tiết lỗi70 II.2.4. Sơ đồ tuần tự cho chức năng tìm kiếm trong Web Client71 II.3. Phần Add-In72 II.3.1. Cài đặt phần Add-in72 II.3.2. Thêm đối tượng Add-in thông qua hộp thoại Add-in Manager73 II.3.3. Hiển thị danh sách lỗi73 II.3.4. Hiển trị trang thông tin chi tiết lỗi74 II.4. Phần Web Admin75 II.4.1. Màn hình chính quản lý sách75 II.4.2. Màn hình chi tiết sách76 II.4.3. Màn hình thêm sách mới76 II.4.4. Màn hình xoá sách77 II.4.5. Màn hình chỉnh sửa sách78 II.4.6. Màn hình quản lý phần(Parts)78 II.4.7. Màn hình quản lý chương79 II.4.8. Màn hình quản lý mục80 II.4.9. Màn hình chi tiết và cập nhật nội dung mục80 II.4.10.Màn hình thêm mục mới81 II.4.11.Màn hình quản lý lỗi81 II.4.12.Màn hình chi tiết lỗi82 II.4.13.Màn hình xoá lỗi83 II.4.14.Màn hình thêm mục cho lỗi83 II.5. Phần Web Client84 II.5.1. Màn hình tìm kiếm84 II.5.2. Màn hình nội dung mục liên quan đến lỗi85 II.6. Phần Web Service85 II.6.1. Tổng quát85 II.6.2. Chi tiết các phương thức86 H U TE C H Chương V: ĐÁNH GIÁ DỰ ÁN VÀ HƯỚNG PHÁT TRIỂN87 I. Đánh giá87 I.1. Hoàn thành87 I.2. Chưa hoàn thành87 II. Hướng phát triển87 MỤC LỤC HÌNH Hình 2.1: Mô hình đối tượng tự động trên Visual Studio .NET3 H ình 2.2: Tạo Add-in project bằng trình Visual Studio Add-in Wizard12 H ình 2.3: Hộp thoại Add-In Manager15 H ình 3.1: Các thành phần của Web service giúp client xác định và gọi các phương thức của Web service30 Hình 3.2: Thứ tự trong lớp HttpWebClientProtocol.32 H ình 3.3: Hộp thoại New Project34 H H ình 3.4: Hộp thoại New Project35 H ình 3.5 Màn hình project Web Services35 C H ình 3.6: Màn hình cấu hình IIS36 H ình 3.7: Hộp thoại Properties của trang web37 TE H ình 3.8: Màn hình Add Web Reference39 H ình 3.9: Hộp thoại Add Web Reference39 H ình 3.10: Hộp thoại Add Web Reference40 H ình3.11: Màn hình hiển thị các file trong Web Services41 U Hình 3.12: Tổng quan về bảo mật.42 H Hình 3.13: Hộp thoại default Web Site Properties44 Hình 3.14: Hộp thoại Authentication Methods44 Hình 3.15: Mànhình Computer Management46 Hình 3.16: Access Control List50 H ình 4.1: Biểu đồ quan hệ của hệ thống56 Hình 4.2: Sơ đồ hoạt động của hệ thống61 H ình 4.3: Sơ đồ tuần tự chức năng của Add-in63 Hình 4.4: Sơ đồ tuần tự chức năng quản lý sách64 Hình 4.5: Sơ đồ tuần tự chức năng quản lý phần trong sách65 Hình 4.6: Sơ đồ tuần tự chức năng quản lý chương trong sách66 Hình 4.7: Sơ đồ tuần tự chức năng quản lý mục trong sách67 Hình 4.8: Sơ đồ tuần tự chức năng quản lý lỗi68 Hình 4.9: Sơ đồ tuần tự chức năng quản lý thêm mục vào lỗi69 Hình 4.10: Sơ đồ tuần tự chức năng quản lý chi tiết lỗi70 Hình 4.11: Sơ đồ tuần tự chức năng tìm kiếm trong Web Client71 Hình 4.12: Cài đặt hệ thống Add-in v ào Visual Studio .NET 200372 Hình 4.13: Hộp thoại Add-In Manager73 Hình 4.14: Màn hình hiển thị Tab Add-In73 Hình 4.15: Màn hình hiển thị trang chi tiết lỗi74 Hình 4.16: Màn hình quản lý sách75 Hình 4.17: Màn hình hiển thị chi tiết sách76 Hình 4.18: Màn hình thêm sách mới76 Hình 4.20: Màn hình cập nhật sách78 H Hình 4.19: Màn hình xoá sách77 Hình 4.21: Màn hình quản lý phần trong sách78 C Hình 4.22: Màn hình quản lý chương trong sách79 TE Hình 4.23: Màn hình quản lý mục trong sách80 Hình 4.24: Màn hình cập nhật mục80 Hình 4.25: Màn hình thêm mục mới81 Hình 4.27: Màn hình quản lý lỗi82 U Hình 4.28: Màn hình cập nhật lỗi82 H Hình 4.29: Màn hình xoá lỗi83 Hình 4.30: Màn hình thêm mục vào lỗi84 Hình 4.31: Màn hình tra cứu lỗi84 Hình 4.32: Màn hình nội dung mục liên quan đến lỗi85 MỤC LỤC BẢNG Bảng 2.1: Sự kiện và hoạt động của đối tượng BuildEvents6 Bảng 2.2: Sự kiện và hoạt động của đối tượng CommandEvents7 Bảng 2.3: Sự kiện và hoạt động của đối tượng TaskListEvents8 Bảng 2.4: Sự kiện và hoạt động của đối tượng OutputWindEvents9 Bảng 2.5: Các tuỳ chọn cho load đối tượng Add-in18 Bảng 2.6: Ý ngh ĩa của cờ CommandPreload18 Bảng 3.1: Kiểu và các giá trị của thuộc tính trong authentication43 Bảng 3.2: Chức năng phân quyền trong bảo mật Authorization51 H Bảng 4.1: B ảng ErrorCode Bảng 4.3: Bảng Items TE B ảng 4.4: Bảng Chapters C Bảng 4.2: Bảng ErrorItems B ảng 4.5: Bảng Parts B ảng 4.6: Bảng Books B ảng 4.7: Bảng Users U Bảng 4.8: B ảng Các Store Procedure H Bảng 4.9: Chức năng các control trong màn hình quản lý sách75 Bảng 4.10: Chức năng các control trong màn hình chi tiết sách76 Bảng 4.11: Chức năng các control trong màn hình thêm sách mới77 Bảng 4.12: Chức năng các control trong màn hình xoá sách77 Bảng 4.13: Chức năng các control trong màn hình cập nhật sách78 Bảng 4.14: Chức năng các control trong màn hình quản lý phần trong sách79 Bảng 4.15: Chức năng các control trong màn hình quản lý chương trong sách79 Bảng 4.16: Chức năng các control trong màn hình quản lý mục trong sách80 Bảng 4.7: Chức năng các control trong màn hình cập nhật mục81 Bảng 4.18: Chức năng các control trong màn hình thêm mục mới82 Bảng 4.191: Chức năng các control trong màn hình quản lý lỗi82 Bảng 4.20: Chức năng các control trong màn hình cập nhật lỗi83 Bảng 4.21: Chức năng các control trong màn hình xoá lỗi83 Bảng 4.22: Chức năng các control trong màn hình thêm mục vào lỗi84 Bảng 4.23: Chức năng các control trong màn hình tra cứu lỗi85 H U TE C H B ảng 4.24: Chi tiết các phương thức 86 BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC DL KỸ THUẬT CÔNG NGHỆ TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP – TỰ DO – HẠNH PHÚC 144/24 Điện Biên Phủ - Q. Bình Thạnh - TPHCM ĐT: 5120254 - 5120294 _____oOo_____ Khoa: Công Nghệ Thông Tin Bộ môn: Công nghệ phần mềm NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Chú ý: Sinh viên phải dán nhiệm vụ bản này vào trang thứ nhất trong tập báo cáo đố án tốt nghiệp Họ và tên : Nguyễn Duy Hoà MSSV : 10102062 Võ Đức Hiền H MSSV : 10102056 Lớp : 01CNPM 1. Đầu đề đồ án tốt nghiệp : C Ngành : Công nghệ phần mềm XÂY DỰNG HỆ THỐNG HỖ TRỢ TRA CỨU LỖI LẬP TRÌNH U TE 2. Nhiệm vụ : a. Dữ liệu ban đầu: Tìm hiểu Web Service, môi trường phát triển Visual Studio .NET 2003 và kỹ thuật Add-in. H b. Nội dung:  Phân tích thiết kế các yêu cầu của hệ thống: Phân tích và thiết kế sơ đồ hoạt động của hệ thống. Phân tích và thiết kế sơ đồ tuần tự của các nhiệp vụ Phân tích và thiết kế cơ sở dữ liệu  Hiện thực các yêu cầu của hệ thống: Xây dựng phần Add-In vào môi trường phát triển của VS.NET 2003. Xây dựng Web Server theo mô hình 3 lớp. 3. Ngày giao nhiệm vụ đồ án : 3/10/2005 : 9/1/2006 5. Họ tên giáo viên hướng dẫn : ThS. Nguyễn Chánh Thành GIÁO VIÊN HƯỚNG DẪN CHÍNH Nội dung và yêu cầu đồ án tốt nghiệp đã thông qua. TP.HCM, ngày ……… tháng ……… năm 2006 (Ký và ghi rõ họ tên) CHỦ NHIỆM KHOA (Ký và ghi rõ họ tên) PHẦN DÀNH CHO BỘ MÔN Người duyệt (chấm sơ bộ): .................................................. Đơn vị: ................................................................................... Ngày bảo vệ: ......................................................................... H U TE C H Điểm tổng quát: ....................................................................  Luận văn tốt nghiệp Chương I: Chương 1 GIỚI THIỆU VỂ ĐỀ TÀI I. Giới thiệu Lập trình là một công việc vô cùng khó khăn, đòi hỏi lập trình viên phải có kiến thức rộng rãi cũng như một kỹ năng lập trình tốt để có thể bắt tay thực hiện các dự án phần mềm. Vấn đề một người lập trình cần có 1 công cụ hỗ trợ nhằm giải đáp các thắc mắc liên quan đến kiến thức lập trình là nhu cầu rất thiết thực trong quá trình dạy học trong ngành Công nghệ thông tin để có thể có công cụ nào giúp trút bớt gánh nặng trong việc lập trình. Đề tài “Xây dựng hệ thống hỗ trợ tra cứu lỗi lập trình trong môi trường lập trình Visual Studio .NET 2003” mà chúng tôi nhận thật sự là một điều mà không chỉ cá nhân tôi H mà rất nhiều các lập trình viên khác hằng mong ước. Đề tài này xây dựng một công cụ hỗ trợ việc tra cứu lỗi trong môi C trường lập trình Visual Studio .NET 2003. Công cụ này bao gồm 2 phần; phần add-in tương tác với môi trường phát triển của VS.Net 2003 (IDE), ngoài ra TE còn hổ trợ thêm một Web Server cho phép phần add-in truy cập tới kho dữ liệu để nhận về thông tin liên quan đến lỗi. Ngoài ra, Web Server còn cho phép các U client đăng ký, truy cập và xem các thông tin về lỗi. II. Chức năng H Đầu tiên, để sử dụng hệ thống hỗ trợ tra cứu lỗi lập trình, người dùng cần cài đặt công cụ này. Hệ thống hỗ trợ tra cứu lỗi có các chức năng sau: • Sau khi biên dịch, phần Add -in sẽ truy cập vào hệ thống Visual Studio .NET 2003 lấy danh sách lỗi, và hiển thị trong tab OutputWindow. • Từ tab OutputWindow này cho phép người dùng click vào hyperlink bên cạnh mã lỗi để mang về thông tin liên quan đến lỗi đó. • Đối với người quản trị cơ sở dữ liệu, họ có thể truy cập vào hệ thống bằng quyền Admin và quản trị dữ liệu. • Đối với người dùng thông thường, họ có thể đăng ký account, và truy cập vào trang web để tra cứu các thông tin liên quan đến lỗi. Nguyễn Duy Hoà -- V õ Đức Hiền Trang 1  Luận văn tốt nghiệp Chương 2 Chương II: KIẾN THỨC MÔI TRƯỜNG PHÁT TRIỂN VÀ ADD-IN I. Môi trường phát triển DTE I.1. Đối tượng DTE Là đối tượng trên cùng trong mô hình đối tượng tự động hoá của bộ Visual Studio. Tất cả các đối tượng và các thành viên trong mô hình tự động hoá Visual Studio.NET đều dựa tr ên đối tượng DTE. Đối tượng DTE tiêu biểu cho môi trường phát triển được tích hợp trên Visual Studio.NET và là đối tượng trên cùng trong mô hình hệ thống cấp bậc. Nó đặt trong một không gian tên gọi là H EnvDTE. Tên của sản phẩm tạo ra trên .NET đối với khô ng gian tên này là “envdte” và được chứa đựng trong một file gọi là envdte.dll. Tên thư viện có đựng trong file gọi là dte.olb. C dạng như COM là Microsoft Development Environment 7.0” và được chứa TE Đối tượng DTE được cung cấp tới bạn qua phương thức OnConnection mà bạn cài đặt khi tạo ra một đối tượng Add-In. Đối tượng DTE là đối tượng H U Application trong Visual Basic. Nguyễn Duy Hoà -- V õ Đức Hiền Trang 2  Luận văn tốt nghiệp H U TE C H Chương 2 Hình 2.1: Mô hình đối tượng tự động trên Visual Studio .NET Nguyễn Duy Hoà -- V õ Đức Hiền Trang 3  Luận văn tốt nghiệp Chương 2 Để truy cập tới các thuộc tính chỉ định trong dự án như VBProjects hay CSharpProjects, hãy dùng cấu trúc DTE.GetObject(“VBProjects”). Minh hoạ: Sub DTEExample() Dim objTextDoc As TextDocument Dim objEP As EditPoint 'Tạo một tài liệu văn bản mới. DTE.ItemOperations.NewFile("General\Text File") 'Lấy quyền điều khiển tới tài liệu mới. Set objTextDoc = DTE.ActiveDocument.Object("TextDocument") Set objEP = objTextDoc.StartPoint.CreateEditPoint 'Tạo một EditPoint và thêm đoạn văn bản. H objEP.Insert "A test sentence." I.2. C End Sub Thêm một tham chiếu tới không gian tên EnvDTE TE Dù bạn chọn đối tượng .NET assembly hay loại thư viện dạng COM tuỳ thuộc vào project của bạn. Khi bạn tạo một đối tượng Add-in sử dụng trình Add-In Wizard (trong bất kỳ ngôn ngữ nào) hay khi bạn tạo một macro, thì U một tham chiếu tới không gian tên EnvDTE được thiết lập sẵn cho bạn. Nếu bạn muốn truy cập tới phần bên ngoài của các đối tượng tự động hoá của các H đối tượng macro hay các đối tượng Add-in được tạo bởi trình Add-In Wizard thì bạn phải thiết lập bằng tay tham chiếu này. Để thêm một tham chiếu tới không gian tên EnvDTE trong Visual C# .NET, ta thực hiện như sau: 1. Trong khung Solution Explorer, ạbn click phải chuột trên project node hoặc trên Reference node và chọn AddReference. 2. Trong hộp thoại Add Reference, click vào tab có kiểu component mà bạn muốn, như .NET hay COM. Tìm trong danh sách các component và ọn ch envdte hay Microsoft Development Environment 7.0, sau đó click OK. Nguyễn Duy Hoà -- V õ Đức Hiền Trang 4  Luận văn tốt nghiệp I.3. Chương 2 Tham chiếu đối tượng DTE Một khi project của bạn đã có tham chiếu tới môi trường EnvDTE, thì bạn có thể thiết lập một tham chiếu tới đối tượng DTE theo đoạn code sau: EnvDTE.DTE myDTE; myDTE = (EnvDTE.DTE)Microsoft.VisualBasic.Interaction.CreateObject("Vis ualStudio.DTE.7.1", ""); -orEnvDTE.DTE dte; DTE = (EnvDTE.DTE)System.Runtime.InteropServices.Marshal.GetActiveObj ect("VisualStudio.DTE.7.1") // Lấy một thực thể của môi // H trường Visual Studio .NET IDE hiện hành đang chạy. Nhưng để truy cập vào bên trong môi trường phát triển của VS.NET C 2003, lấy mã lỗi và hiển thị trên VS.NET 2003, chương trình cần sử dụng các đối tượng sau đây làm việc như các macro: đối tượng Events, BuildEvents, TaskListEvents, OutputWindowEvents, TE CommandEvents, OutputWindowPane và các phương thức sự kiện Window, OnConnect, I.4. U OnStartupComplete, OnAddInsUpdate, OnBeginShutdown, OnDisconnection. Những đối tượng chính trong project H I.4.1. Đối tượng Events Cho phép truy cập tới tất cả các sự kiện trong mô hình mở rộng. Các sự kiện này cũng có thể được phơi bày từ các đối tượng chỉ định bên trong mô hình mở rộng DTE. DTE Events Nhận xét: Mô hình tự động hoá chứa đựng một đối tượng sự kiện gốc Events mà các clients cùng loại được viết ở bất kì ngôn ngữ nào cũng có thể tham chiếu tới các sự kiện tự động hoá. Các công cụ IDE , các loại project khác nhau, ... có thể thêm các sự kiện bổ sung tới đối tượng Events mà chúng chỉ định. Nguyễn Duy Hoà -- V õ Đức Hiền Trang 5  Luận văn tốt nghiệp Chương 2 Minh hoạ: Public Module Module1 Dim WithEvents bldevents As BuildEvents Dim applicationObject As EnvDTE.DTE Sub EventsExample() Dim addInInstance As EnvDTE.AddIn applicationObject = CType(Application, EnvDTE.DTE) bldevents = CType(applicationObject.Events.BuildEvents, EnvDTE.BuildEvents) End Sub H Private Sub bldevents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles bldevents.OnBuildDone MsgBox("Build complete") End Sub End Module I.4.2. Đối tượng BuildEvents DTE TE Events C Cung cấp các sự kiện cho giải pháp tạo dựng. BuildEvents Thuộc tính: U public BuildEvents BuildEvents {get;} Trả về đối tượng BuildEvents, cung cấp các sự kiện cho các giải pháp H xây dựng. Các sự kiện: Sự kiện OnBuildBegin Hoạt động Xuất hiện trước khi solution xây dựng, trước khi dự án bắt đầu xây dựng OnBuildDone Xuất hiện sau khi một solution hoàn tất quá trình xây dựng. OnBuildProjConfigBegin Xuất hiện khi việc định hình một dự án bắt đầu. OnBuildProjConfigDone Xuất hiện khi việc định hình một dự án kết thúc. Bảng 2.1: Sự kiện và hoạt động của đối tượng BuildEvents Nguyễn Duy Hoà -- V õ Đức Hiền Trang 6  Luận văn tốt nghiệp Chương 2 I.4.3. Đối tượng CommandEvents Cung cấp các sự kiện dòng lệnh cho các client tự động hoá. DTE Events CommandEvents Thuộc tính: public CommandEvents CommandEvents( string Guid, int ID ) {get;} Tham số: H Guid: được yêu cầu. Đây là GUID cho nhóm lệnh. Nếu Guid là về một đối tượng C Null hoặc Nothing, thì CommandEvents trả CommandEvents tượng trưng cho tất cả các lệnh trong môi trường. TE ID: được yêu cầu. Một chỉ mục trong nhóm lệnh tương ứng với lệnh cụ thể. Nếu ID là Null hay Nothing, thì CommandEvents trả về một đối tượng CommandEvents tượng trưng cho tất cả các lệnh trong nhóm. Giá trị trả về: U Một đối tượng CommandEvents. H Các sự kiện: Sự kiện Hoạt động AfterExecute Xuất hiện sau khi một lệnh thực thi BeforeExecute Xuất hiện trước khi một lệnh thực thi Bảng 2.2: Sự kiện và hoạt động của đối tượng CommandEvents Nhận xét: Đối tượng CommandEvents được trả về bởi thuộc tính CommandEvents của đối tượng Events. Minh hoạ: Public WithEvents CommandEvents As EnvDTE.CommandEvents Nguyễn Duy Hoà -- V õ Đức Hiền Trang 7  Luận văn tốt nghiệp Chương 2 Public Sub CommandEvents_AfterExecute(ByVal Guid As String, ByVal ID As Integer, ByVal CustomIn As Object, ByVal CustomOut As Object) Handles CommandEvents.AfterExecute MsgBox("test") End Sub I.4.4. Đối tượng TaskListEvents Cung cấp các sự kiện cho các thay đổi tới danh sách tác vụ. DTE Events TaskListEvents H Thuộc tính: public TaskListEvents TaskListEvents( {get;} Tham số: TE ) C string Filter Filter: tuỳ chọn. Đây là tên của danh mục tác vụ. Nếu Filter được hỗ trợ, thì đối tượng TaskListEvents chỉ cung cấp các sự kiện cho danh mục U đó. Nếu Filter không được hỗ trợ một giá trị danh mục hợp lệ, thì thuộc tính TastListEvents bị hỏng. H Giá trị trả về: Một đối tượng TaskListEvents. Các sự kiện: Sự kiện Hoạt động TaskAdded Xuất hiện khi một tác vụ mới được thêm tới Task List. TaskModified Xuất hiện khi một tác vụ trong Task List được sửa đổi. TaskNavigated Xuất hiện lập tức trước khi bạn điều hướng tới nguồn của một tác vụ trong Task List. TaskRemoved Xuất hiện khi một tác vụ bị loại bỏ khỏi Task List. Bảng 2.3: Sự kiện và hoạt động của đối tượng TaskListEvents Ghi chú: Đối tượng TaskListEvents được trả về bởi DTE.Events. Nguyễn Duy Hoà -- V õ Đức Hiền Trang 8
- Xem thêm -

Tài liệu liên quan