Здравствуйте, Vinny, Вы писали:
Попробуйте в своих идльниках цеплять все внешние ком сервера через импортлиб, а не через импорт (переместив определения методов внутрь библиотеки).
Иначе адошная (и прочаяя что импортом в идльник упихали) начинка будет торчать из ваших серверов (изо всех).
Соответсвенно в проектах в которых используются несколько подобным образом собранных серверов, что нибудь малоприятное наверняка вылезет.
import "oaidl.idl";
[
uuid(8E9082D5-9CCE-4E35-9596-FE7EC7CD5981),
version(1.0),
helpstring("BLogic 1.0 Type Library")
]
library BLogicLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
importlib("C:\Program Files\Common Files\System\ADO\msado26.tlb");
[
object,
uuid(3A4F53E2-DCBF-11D6-9C21-0000B4A6D518),
helpstring("IBLogic Interface"),
pointer_default(unique)
]
interface IBLogic : IUnknown
{
[helpstring("method InsertSomething")]
HRESULT InsertSomething([in, out] _Recordset **ppNewSomething, [out, retval] VARIANT_BOOL *pbSuccess);
}
[
uuid(3A4F53E3-DCBF-11D6-9C21-0000B4A6D518),
helpstring("BusinessLogic Class")
]
coclass BLogic
{
[default] interface IBLogic;
};
};
Определения енумов тоже лучше прямо в library прописывать.
Такое вот имхо.