Я думаю, это связано с тем, что я использую nlog C ++ API (и мой вопрос на форуме nlog: здесь); Цель того, что я задаю этот вопрос здесь, - привлечь более широкую аудиторию к моей проблеме и, возможно, также получить некоторые более общие идеи, лежащие в основе отказа VB6 IDE от моего конкретного сценария.
Вкратце, проблема, с которой я столкнулся, заключается в том, что у меня возникают проблемы со сборкой компонентов VB6, которые ссылаются на неуправляемые компоненты C ++, которые имеют вызовы API C \ C ++ nlog (который определен в NLogC.DLL). Проблемы сборки не возникают во время компиляции, они возникают при сборке двоичного файла, что наводит на мысль, что это какая-то проблема типа компоновщика? Не знаю достаточно о том, как создаются двоичные файлы VB6, чтобы сказать. Двоичный файл VB6 создается, но он поврежден и дает сбой вскоре после вызова.
У кого-нибудь был подобный опыт с VB6 (не обязательно иметь отношение к nlog или C ++)?
edit: Спасибо за все ответы на эту довольно неясную проблему. К сожалению, все еще нет прогресса; мои выводы с тех пор, как я опубликовал это:
- «Тонкая настройка» параметров компиляции, похоже, не помогает в решении этой проблемы.
- Добавление ссылки на компонент C ++ с поддержкой nlog из «пустого» проекта VB6 не приводит к его сбою и не вызывает странных проблем сборки. Значит, это не «родная» проблема VB6, а, возможно, проблема взаимодействия между nlog и различными компонентами и сторонними библиотеками, используемыми другими компонентами, на которые есть ссылки?
- Что касается соглашений о вызовах C ++: компонент C ++ с поддержкой nlog, насколько я могу судить, соответствует этим соглашениям и действительно отлично работает, когда на него ссылается VB6, если он не выполняет никаких вызовов API nlog. Не уверен, что сама nlogc.DLL совместима с VB6, но я бы подумал, что это несущественно, поскольку вызовы API выполняются из компонента C ++; VB6 не должен знать или заботиться о том, на что ссылается компонент C ++ (насколько я понимаю ...)
edit2: Я также должен отметить, что сообщение об ошибке, полученное во время сборки: «Ошибки во время загрузки. Пожалуйста, обратитесь к« xxx »для подробностей». Когда я открываю файл журнала, все, что там написано: «Невозможно загрузить элемент управления xxx». Интересно, что все ссылки на этот конкретный элемент управления исчезают из этого конкретного проекта, что приводит к ошибкам компиляции, если я пытаюсь построить снова.