Сборка API - PullRequest
       7

Сборка API

0 голосов
/ 28 апреля 2009

В мои дни VB6.0 я использовал тонны окон API. Поэтому я понял, что все объявленные мной методы API в значительной степени основаны на процедурах или имеют точку входа на основе процедур.

Мой вопрос:

Я написал некоторый код на C #, к которому мне нужно получить доступ из VB6.0. Можно ли скомпилировать мой код C # в DLL и получить доступ к этой C # DLL из VB6.0, объявив его как вызов API? Если да, то как это сделать?

(я уже пытался сделать мою C # DLL COM-совместимую, и это сработало - но я все равно хотел бы попробовать вышеупомянутый подход)

Спасибо

Ответы [ 2 ]

4 голосов
/ 28 апреля 2009

Нет, вы не можете выставить точки входа в вашу C # DLL как API в стиле Win32. Если вам действительно нужно создать процедурные точки входа для библиотеки .NET, вероятно, лучше всего создать библиотеку-оболочку смешанного режима с использованием C ++ / CLI. Но это похоже на тяжелую работу: выставление ваших классов C # в виде COM-объектов, вероятно, потребует гораздо меньше усилий и намного проще в обслуживании.

0 голосов
/ 28 апреля 2009

Если вы счастливы, что ваши руки (очень) пачкаются, вы можете делать что хотите, используя MSIL. Взгляните на этот проект CodeProject для ознакомления.

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