about timesetevent
I'm using DAQ card to get data,I need a timer to do it
I code a timesetevent and a callback function
but when I executes the program
I got a error message " cannot written "
so...wanna asking about the timesetevent statement has any error?
#include <mmsystem.h>
/*callback function*/
void CALLBACK CAI_TIMEDlg::TimerProc(UINT uTimerID, UINT uMsg, DWORD
dwUser, DWORD dw1, DWORD dw)
{
CAI_TIMEDlg* User;
//warning C4101: 'User' : unreferenced local variable
User->OnTimer;
//warning C4551: function call missing argument list
}
/*a button to start timer*/
void CAI_TIMEDlg::OnBNStart()
{
UINT i_Scantime;
CString cs_Scantime;
m_OK.EnableWindow( FALSE );
m_Read.EnableWindow( TRUE );
m_Start.EnableWindow( FALSE );
m_Stop.EnableWindow( TRUE );
m_DaqAi.SetOverallInputRange( m_InputRange.GetCurSel());
m_EScanTime.GetWindowText( cs_Scantime );
i_Scantime = atoi( cs_Scantime );
wTimerID=timeSetEvent(i_Scantime,1,TimerProc,(DWORD)User,TIME_PERIODIC);
}
/*a button to close timer*/
void CAI_TIMEDlg::OnBNStop()
{
m_DaqAi.CloseDevice();
m_OK.EnableWindow( TRUE );
m_Read.EnableWindow( TRUE );
m_Start.EnableWindow( TRUE );
m_Stop.EnableWindow( FALSE );
timeKillEvent(wTimerID); // cancel the event
wTimerID = 0;
}
void CAI_TIMEDlg::OnTimer()
{
//TO CODE FOR TIMER ROUTINE
int i_Channel;
float vReading;
char buffer[10] ;
FILE *out;
out=fopen("output.xls","a");
vReading = m_DaqAi.RealInput( i_Channel );
// warning C4700: local variable 'i_Channel' used without having been
initialized
gcvt(vReading,7,buffer);
fprintf(out,"%s\n",buffer);
fclose(out);
m_ReturnData.SetWindowText(buffer);
}