Вызов .Net классов из Visual Basic 6 - PullRequest
3 голосов
/ 27 января 2010

У нас есть .Net DLL. Нам нужно вызвать эту DLL из приложения VB. Каким процедурам мы должны следовать?

Ответы [ 2 ]

1 голос
/ 27 января 2010

В последний раз, когда я сделал это, это стало настолько непростым (некоторые не относящиеся к делу проблемы, связанные с COM +, развертыванием и т. Д., Приводило нас в замешательство), что я фактически отключил границу COM и переписал интерфейс как веб-сервис POX, общаясь с обработчик (ashx) в .NET. Я бы серьезно рассмотрел этот подход ... (если вам не нужно делиться дескрипторами окон или подобными)


Если вы действительно хотите использовать COM API, вам нужно сгенерировать COM-вызываемую оболочку; это в значительной степени случай:

  • обеспечение доступа к необходимым типам / методам
  • маркировка сборки / типов как [ComVisible(true)]
  • с использованием tlbexe для экспорта библиотеки типов, если вам нужно
  • с использованием regasm для регистрации типа в COM (либо в GAC, либо из фиксированного места на диске)

После этого ваш VB6 должен просто увидеть его как еще один COM-пакет, но я настоятельно рекомендую ограничить этот интерфейс до минимума; это не дружественно к изменениям, и переадресация интерфейса в стиле VB6 (то есть, где вы можете избежать добавления метода, не нарушая бинарную совместимость) здесь отсутствует.

1 голос
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...