Ілюстрований самовчитель по visual basic

COM Interop і виклики функцій DLL. Виклики функцій DLL.

Незважаючи на появу .NET, існуючий код на базі СОМ ще не збирається вмирати. На щастя, рівень взаємодії з СОМ в .NET працює дуже добре. З іншого боку, використання СОМ в проектах .NET знижує швидкодію і утрудняє супровід програм, тому ці технології об'єднуються лише за крайньої необхідності.

У Visual Studio .NET взаємодія з СОМ майже не вимагає зусиль з боку програміста. Просто виберіть потрібний об'єкт СОМ на вкладці СОМ діалогового вікна посилань, і з ним можна буде працювати як з класом .NET. Для цього IDE читає бібліотеку типів СОМ і створює для об'єкта допоміжний клас ( "обгортку") .NET. Відкритими членами цього класу є все відкриті члени об'єкта СОМ. До речі, технологія IntelliSense працює і для примірників цих класів.

Примітка
Класи об'єктів СОМ також створюються утилітою tlbimp.exe. що входить в .NET SDK. Зокрема, ця утиліта зручна при одночасному побудові декількох "обгорток" для використання в майбутньому.

Виклики функцій DLL

Хоча при виклику функцій DLL можна використовувати старий синтаксис Declare. в .NET рекомендується використовувати інший спосіб - атрибут Dll Import. дозволяє створювати спільні точки входу. Для цього в програмі визначається порожня функція, що збігається за сигнатуре з спричиненої функцією. Нижче наведено приклад використання атрибута Dll Import.

Інша принципова відмінність атрибута Dll Import від ключового слова Declare полягає в тому, що Dll Import дозволяє краще управляти окремими аспектами виклику. Зокрема, при виконанні функції можна вказати конвенцію передачі параметрів, і кодування для передачі строкових параметрів.

НАШІ ПРОЕКТИ

  • Навігатор в океані ароматів

Схожі статті