我在Com中开的线程中触发连接点事件Fire_XXXXEvent为什么程序运行时报错呢??
如果不在线程中运行触发事件就没有问题
UINT GenDataThread(LPARAM lp)
{
CSimu * psimu = (CSimu*)lp;
for (;;){
psimu->Fire_InterruptEvent(); ----报错
Sleep(400);
}
return 1;
}
如果不在线程中运行触发事件就没有问题
UINT GenDataThread(LPARAM lp)
{
CSimu * psimu = (CSimu*)lp;
for (;;){
psimu->Fire_InterruptEvent(); ----报错
Sleep(400);
}
return 1;
}
Dim WithEvents sim As COSIMULATORLib.Simu
Private Sub Command1_Click()
sim.Start True
End Sub
Private Sub Command2_Click()
sim.Start False
End Sub'Private Sub sim_OnInterrupt()
' ' sim.CaptureData pt(0)
'End SubPrivate Sub Form_Load()
Set sim = New COSIMULATORLib.Simu
sim.SetInterruptFreq 10
sim.SetInterruptDataNum 500
End Sub
Private Sub sim_InterruptEvent()
'
End Sub
InitializeCriticalSection(&m_crisection);
DWORD dw(0);
m_hThread = 0;
m_hThread = CreateThread(0,0,(LPTHREAD_START_ROUTINE)GenDataThread, this, CREATE_SUSPENDED , &dw);x线程函数
static UINT CSimu::GenDataThread(LPARAM lp)
{
CoInitliaze();
CSimu * psimu = (CSimu*)lp;
psimu->Fire_InterruptEvent();
return 1;
}
psimu->Fire_InterruptEvent(); ----报错 //看看psimu是否正确?
Sleep(400);
}