Написание .dll на C ++ для VB6 - PullRequest
1 голос
/ 28 февраля 2011

Я пытаюсь перенести .ocx на основе VB6 в C ++. Путь миграции, на котором я остановился, следующий:

  1. Перенос текущего .ocx в обычный COM .dll (на самом деле он не имеет компонентов пользовательского интерфейса, и я не уверен, почему это .ocx)
  2. Напишите C ++ версию COM .dll и используйте ее в качестве замены.

Мои вопросы:

а. Похоже, это правильный путь?

б. Как можно создать COM .dll в C ++ в Visual Studio 2010? Я попытался создать простой файл .dll, используя tlbexp для создания файла .tlb, но, похоже, это не сработало. Я могу вытащить свой .tlb в проект VB5, но нет классов для создания экземпляров. Если я пытаюсь использовать regsvr32 для регистрации .dll, я получаю сообщение об ошибке «без точки входа».

Я видел ссылки на опцию в VS 2005 для «Регистрация для взаимодействия COM», но я не смог найти эквивалентную опцию в VS 2010.

Заранее спасибо за помощь!

1 Ответ

1 голос
/ 28 февраля 2011

Вы должны создать проект ATL: enter image description here Затем добавить COM-объекты в ваш компонент.Отсутствует точка входа, которую вы получаете, потому что у astandard dll нет правильных точек входа для регистрации, проект ATL сделает это за вас.

...