여기에 별도의 .h 파일과 단일 형식 라이브러리를 생성하기 위해 idl을 구성하는 방법에 대한 샘플이 나와 있습니다. 올바른 지시어는 가져 오기입니다.
main.idl
import "oaidl.idl";
import "ocidl.idl";
import "frag1.idl";
import "frag2.idl";
[
uuid(1BECE2AF-2792-49b9-B133-BBC89C850D6F),
version(1.0),
helpstring("Bibliothèque de types")
]
library Library
{
importlib("stdole2.tlb");
interface IFrag1;
interface IFrag2;
}
frag1.idl
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(9AEB517B-48B9-4628-8DD3-4A0BA8D39BEF),
dual,
nonextensible,
helpstring("Interface IFrag1"),
pointer_default(unique)
]
interface IFrag1 : IDispatch {
HRESULT frag1();
};
frag2.idl 내가 int로하기 때문에 할 매우 쉽게 할 수 있지만이 아니다
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(D60835D4-E1B1-40fb-B583-A75373EF15BE),
dual,
nonextensible,
helpstring("Interface IFrag2"),
pointer_default(unique)
]
interface IFrag2 : IDispatch {
HRESULT frag2();
};
응용 프로그램 내부의 egype typelib. 각각에 대해 별도의 라이브러리를 추가하는 것은 고통 스러울 것입니다. Midl에는 .h를 분할하는 데 필요한 모든 것이 있습니다. 누군가가 나에게 마법 도구의 마술 깃발을 달아 줄 것을 기대했습니다. –
하나의 유형 라이브러리 만 있으면됩니다. 각 인터페이스 IDL을 포함하고 라이브러리 블록을 포함하는 하나의 마스터 IDL이 있어야합니다. 그것은 당신을 위해 작동하지 않습니까? –
나는 더 조심스럽게 읽어야했는데, 이것이 내가 필요한 것입니다. 감사. –