| 著作一覧 |
interace Converter : IUnkneown {
}
coclass Original {
interface Converter;
}
っていうようなIDLがあって。で、こいつに、皮を被せるって感じ。
interface Converter : IUnknown {
}
colcass Wrapper {
interface Converter;
}
なぜ、interfaceの名前が同じかっていうと、VBな人なら
Dim x as Original.Converter Dim y as Wrapper.Converterなわけだし、実際、メソッドシグネチャは違うんだけど(じゃあ、Wrapperじゃないけど、そのあたりは、最構成してるわけだし)、だって、Converterなんだからしょうがないじゃん。
namespace Original {
#include "original.h"
#include "original_i.c"
}
namespace Wrapper {
#include "wrapper.h"
#include "wrapper_i.c"
}
#include "converter.h"
とするじゃん。class ATL_NO_VTABLE Converter : ... public IDispatchImpl<IConverter, &IID_IConverter, &LIBID_...のとこで、IConverterが無いよ、エラーになるわけ。
using Wrapper; class ATL_NO_VTALBE Converter : ...とやっても、同じ。
public IDispatchImpl<Wrapper::IConverter, &Wrapper::IID_IConverter, &LIBID_...だめだめ。
ジェズイットを見習え |