Здравствуйте AsM2, Вы писали:
AM>Происходит ошибка при компиляции — COM компилируется в VB 6.0 sp5..., а в последний момент отваливается с ошибкой линкера: AM>--- AM>Microsoft (R) Incremental Linker Version 6.00.8447 AM>Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
AM>LINK : fatal error LNK1104: cannot open file "C:\Projects\iXML\iXML.dll" AM>--- AM>ActiveX DLL, бинарная совместимость. AM>Причем это появилось не с разу, а как то раз... уже на паре проектов такое. Компилял и после перезагрузки. AM>Имеющаяся откомпиленная DLL регестрится и разрегистряется через regsvr32 без проблемм.
По-видимому, твоя DLL используется каким-то приложением или как сервер объекта или как TLB (библиотека типов) объекта. Нужно найти такое приложение и заставить его отпустить DLL. Это уже зависит от того, где используется твой объект.
AM>А есть еще один глюк — обратный — еще на двух проектах — откомпилированные DLL (также ActiveX DLL, бинарная совместимость) не регистрируются и не разрегистрируются через regsvr32 — выводится ошибка: AM>--- AM>URL.dll was loaded, but the DllRegisterServer entry point was not found.
AM>This file can not be registered. AM>--- AM>И такая же ошибка при разрегистрации, только соответственно DllUnregisterServer функцию не находит. AM>Тоже появилось каким то образом в неопределенный момент...Перекомпиляция не помогает. AM>Но зарегистрировать их можно откомпиляв в VB (он же при компиляции регестрит).
Если имеешь ввиду URL.dll из WinXXX\System32 директория, то всё правильно — у неё нет этих функций. А если имеешь ввиду свою, то это нескромно и лучше переименовать её из-за коллизий с Microsoft-овской конкуренткой. Не Microsoft-у же переименовывать!