PDA

View Full Version : [Q] Làm thế nào để sử dụng các thành phần COM trong C#?



hatim894work
10-05-2003, 18:04
Mình đang học lập trình C#. Mình cần dùng một số thành phần COM để lập trình giao tiếp với điện thoại (cụ thể là các thành phần COM trong bộ thư viện TAPI của Microsoft được gói trong tapi3.dll). Nhưng vấn đề là làm thế nào sử dụng các thành phần COM đó. Xin các đại gia .NET chỉ giúp. Cám ơn nhiều nhiều.

Ali33n40Girls
10-05-2003, 19:47
Nếu bạn lập trình bằng Visual Studio.NET thì bạn dùng COM theo cách sau nhé:

Click phải lên Reference trong cửa sổ Solution Explorer, chọn Add Reference, sẽ hiện lên dialog cho phép bạn thêm reference vào trong solution của bạn. Để sử dụng COM thì bạn chọn tab COM, chọn Component mà bạn muốn sử dụng (ở đây là Telephone API). Bấm OK.

Bây giờ thì Visual Studio.NET sẽ làm mọi thứ cho bạn, nó sinh ra các lớp wrap COM mà bạn đã dùng.

Bạn xem trong cửa sổ Solution Explorer sẽ thấy các thông tin cần thiết như namespace, tên lớp mà VS.NET đã tự động sinh ra cho bạn để sử dụng trong chương trình. Bạn nhớ sử dụng namespace InteropServices nhé.

VD:

using InteropServices;
using ABC; // <-- tên namespace mà VS.NET đã sinh ra cho bạn

....

Telephone t = new Telephone(); // <-- Telephone là tên lớp mà VS.NET đã sinh ra
....

Nếu chưa rõ thì bạn hỏi tiếp nhé!

hatim894work
12-05-2003, 08:48
OK, cám ơn bạn. Bây giờ chúng ta cùng đến một vấn đề mới. Vấn đề mình gặp phải bây giờ là:
- Trong Visual C++, một COM server muốn gởi sự kiện cho client thì phải thông qua giao tiếp IConnectionPoint và IConnectionPointConttainer, nhưng theo mình biết thì trong C# đã gói các lớp này trong CWR phải không? Như vậy thì làm sao mình nhận được các sự kiện từ COM Server?
- C# đã gói các câu lệnh QueryInterface, vậy lệnh nào tương đương không?