2013-05-15 13 views
5

Sự khác nhau chính trong IDL và ODL là gì. Tôi có nhiều dự án, một số dự án có idl và một số trong số đó có odl. Và nơi tôi nên sử dụng chúng. Sự cân bằng là gì.Sự khác biệt giữa idl và odl

+0

Bạn đã thử xem những từ viết tắt đó được mở rộng chưa? – PlasmaHH

+0

Vâng tôi đã làm, nhưng sự hiểu biết của tôi về COM là rất yếu. Vì vậy, tôi không thể làm rõ mọi thứ. –

Trả lời

8

ODL là định dạng cũ. Nó được thay thế bằng MIDL (a.k.a: IDL). Kiểm tra bài viết chính thức của Microsoft này: MIDL and ODL

Ngôn ngữ định nghĩa giao diện Microsoft (MIDL) giờ đây bao gồm cú pháp Ngôn ngữ định nghĩa đối tượng (ODL) hoàn chỉnh.

Bây giờ, nếu bạn có tệp ODL, bạn có thể giữ nguyên hoặc di chuyển chúng sang IDL. Đó sẽ là giải pháp được đề xuất nhưng có thể dễ bị lỗi. Nó rất liên quan đến công cụ bạn sử dụng curently để xây dựng các tập tin được tạo ra từ nó, MIDL.exe hoặc MkTypeLib.exe. Kiểm tra lại tài liệu chính thức về các vấn đề này: Differences Between MIDL and MkTypLib

Nói chung, bạn sẽ muốn sử dụng cú pháp MIDL trong tệp IDL của mình. Tuy nhiên, nếu bạn cần biên dịch một tệp ODL hiện có, hoặc nếu không duy trì tính tương thích với MkTypLib, hãy sử dụng tùy chọn/mktyplib203 MIDL trình biên dịch để buộc MIDL cư xử như Mkktyplib.exe, phiên bản 2.03. (Đây là bản phát hành cuối cùng của công cụ MkTypLib.) Cụ thể, tùy chọn/mktyplib203 giải quyết những khác biệt này:

2

ODL là từ viết tắt của Mô tả đối tượng Ngôn ngữ và IDL là Ngôn ngữ định nghĩa giao diện.

Object Description Language (ODL) là gốc interface definition language tạo ra bởi Microsoft để xác định các giao diện để được sử dụng trong OLE Automation. Đó là một superset của OMG IDL

Nếu bạn muốn mô tả đối tượng rõ ràng ODL là một công cụ tốt hơn, đó là tùy thuộc vào bạn để thiết kế các đối tượng ứng dụng theo định hướng hoặc giao diện (chức năng) theo định hướng.