2013-05-15 18 views
5

Co to jest główna różnica w IDL i ODL. Mam wiele projektów, niektóre z nich mają idla i niektóre z nich mają odl. I gdzie powinienem ich użyć. Co to są kompromisy.Różnica między idl i odl

+0

Czy próbowałeś sprawdzić, do czego rozszerzono te akronimy? – PlasmaHH

+0

Cóż, zrobiłem, ale moja wiedza na temat COM jest bardzo słaba. Więc nie mogę wyjaśnić rzeczy. –

Odpowiedz

8

ODL jest starszym formatem. Został zastąpiony przez MIDL (a.k.a: IDL). Zaznacz to oficjalny artykuł Microsoft: MIDL and ODL

Microsoft Interfejs Definition Language (Działki) zawiera teraz składnię kompletny Object Definition Language (ODL).

Teraz, jeśli masz pliki ODL, możesz zachować je w niezmienionej postaci lub przenieść je do IDL. To byłoby zalecane rozwiązanie, ale może być podatne na błędy. Jest bardzo związany z narzędziem, z którego obecnie korzystasz do budowania wygenerowanych plików, MIDL.exe lub MkTypeLib.exe. Sprawdź ponownie oficjalną dokumentację na ten temat: Differences Between MIDL and MkTypLib

Ogólnie rzecz biorąc, będziesz chciał użyć składni MIDL w swoich plikach IDL. Jeśli jednak chcesz skompilować istniejący plik ODL lub w inny sposób zachować kompatybilność z MkTypLib, użyj opcji kompilatora/mktyplib203 MIDL , aby zmusić MIDL do zachowania się podobnego do Mkktyplib.exe, wersja 2.03. (Jest to ostatnia wersja narzędzia MkTypLib.) W szczególności opcja/mktyplib203 rozwiązuje te różnice:

2

ODL jest akronimem Object Description Language i IDL jest Interfejs Definition Language.

Object Description Language (ODL) był oryginalny interface definition language stworzony przez Microsoft do określenia interfejsów do być stosowany w OLE Automation. Był to nadzbiór OMG IDL

Jeśli chcesz opisać obiekt, to oczywiście narzędzie ODL jest lepszym narzędziem, musisz zaprojektować obiekt zorientowany na obiekt lub interfejs (funkcjonalny) zorientowany.