紧急求助,在DLL中使用activex控件的问题(给出有价值建议者50分,给出解决问题的方法者200分,决不食言)
我想在DLL使用一个控制PCI接口数据采集卡的ActiveX控件(该控件运行时为不可显示的),在DLL中新建了一个对话框,将该控件放在对话框中,并关联一个该控件类型的变量,但是domodal时对话框不出现,而将控件从对话框中去掉后就可以domodal成功了,看来是这个控件在DLL中的使用出了问题,但是我想不出问题出在那里,企盼各位大侠指点迷津。
我希望在程序运行过程中对话框不显示,使用对话框的目的只是为了使用这个控件。最好是对话框类对象生成后不必domodal直接就可以使用关联的变量,不知道有什么好的办法。
附,该控件的部分使用方法代码:
BOOL CPci16pr::Init(short CardNumber)
{
BOOL result;
static BYTE parms[] =
VTS_I2;
InvokeHelper(0x2, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
CardNumber);
return result;
}
void CPci16pr::DataOut(short data)
{
static BYTE parms[] =
VTS_I2;
InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
data);
}
void CPci16pr::Exit()
{
InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
short CPci16pr::ReadBack()
{
short result;
InvokeHelper(0x5, DISPATCH_METHOD, VT_I2, (void*)&result, NULL);
return result;
}