VC++からのocxの使用方法
画面のないVC++(.NETではない)でocxを使用したいのですが、うまくいきません。
以下のようなソースを作成したのですが、デバイスのオープンで例外が発生します。
#import "C:\\xxx\\OposXXXXX.ocx" no_namespace named_guids rename("Release","ReleaseOposPenScanner")
int main(int argc, char* argv[])
{
HRESULT hResult;
_DOposXXXXCO* device;
_bstr_t deviceName("XXX");
::CoInitialize(NULL);
hResult = ::CoCreateInstance((REFCLSID)CLSID_OposXXXCO, 0, CLSCTX_INPROC_SERVER, (REFIID)DIID__DOposXXXXCO, (LPVOID*)&device;
try{
device->Open(deviceName);
}catch(_com_error &e){
return 0;
}
…
Open()時に例外が発生します。
デバッグ出力したところ、
e.ErrorMessage() = 00169E68
e.Error() = -2147418113
e.ErrorInfo() = 00000000
とでましたが、ネットでも情報が見つけられませんでした。
解決策をご存知の方、よろしくお願いします。
お礼
こんにちは、honiyonです。 ご返信遅くなりすいませんm(_ _)m 使用してみましたが、コンストラクタ内では常に trueになってしまうようです。 仕方ないので、初期化のタイミングをずらすことで解決しました。 有難う御座いました。