Я ставлю «лучше» в кавычках, потому что это качественный вопрос. Пишу COM DLL уже пару лет, и только недавно натолкнулся и успешно использовал стандартную DLL с концепцией Typelib.
Есть ли веские причины использовать COM DLL вместо DLL + Typelib? Конечно, вы не можете сделать DCOM с DLL + Typelib, но разве это единственная причина?
РЕДАКТИРОВАТЬ Я написал COM DLL на Visual C / C ++ 6, Compaq Visual Fortran, Delphi, Visual BASIC 6, ActiveState Perl и некоторых других. Я написал стандартные библиотеки DLL на Visual C / C ++ 6, Delphi, Ada и некоторых других. Я написал typelibs для некоторых из моих собственных стандартных DLL, а также для сторонних DLL. Первоначально вопрос был написан в контексте повторной реализации Delphi DLL + Typelib оригинала VB6.