13 个解决方案
#1
自己先顶下,哪位高手知道啊?
#2
我又发现了,项目我加载了皮肤,当我去掉皮肤后后一切正常了,难道定时器和皮肤有冲突?
#3
不清楚,应该是没问题
#4
debug啊,看错误代码在哪里出现的,什么原因?
#5
调试啊...
调试下不就知道问题所在了?
调试下不就知道问题所在了?
#6
SetTimer 换个ID看看,可能皮肤跟你用了一样的id,但是皮肤的ontimer时间很长
#7
很明显你定时器没有开成功,当你关闭ID=3的不存在的定时器时,出错了。皮肤里定时器可能和你开的定时器ID重复了,你可以开大一点的ID号。
#8
同意7楼...
#9
一般的SetTimer是这样用的。
m_nTimer = SetTimer(3, 2000, 0);
...
KillTimer(m_nTimer);
也就是说虽然我们在第一个参数里面指定了ID为3但是系统不一定会返回一个ID为3的定时器。一般情况下如果3被用了,系统会自动给一个比较大的给我们,这个就是SetTimer的返回值。
此外要注意的是当m_nTimer为0的时候,说明定时器申请失败,要看看为什么失败,建议看一下,代码如下:
m_nTimer = SetTimer(3,2000,0);
int nErr = GetLastError();
...
看看nErr的值一般就能知道为什么失败了。
m_nTimer = SetTimer(3, 2000, 0);
...
KillTimer(m_nTimer);
也就是说虽然我们在第一个参数里面指定了ID为3但是系统不一定会返回一个ID为3的定时器。一般情况下如果3被用了,系统会自动给一个比较大的给我们,这个就是SetTimer的返回值。
此外要注意的是当m_nTimer为0的时候,说明定时器申请失败,要看看为什么失败,建议看一下,代码如下:
m_nTimer = SetTimer(3,2000,0);
int nErr = GetLastError();
...
看看nErr的值一般就能知道为什么失败了。
#10
我先试一试你们说的啊
#11
我发现是创建成功了的,
#12
是否在消息映射里添加了定时器消息:
ON_WM_TIMER()
ON_WM_TIMER()
#13
严重同意7楼的看法!!!
#1
自己先顶下,哪位高手知道啊?
#2
我又发现了,项目我加载了皮肤,当我去掉皮肤后后一切正常了,难道定时器和皮肤有冲突?
#3
不清楚,应该是没问题
#4
debug啊,看错误代码在哪里出现的,什么原因?
#5
调试啊...
调试下不就知道问题所在了?
调试下不就知道问题所在了?
#6
SetTimer 换个ID看看,可能皮肤跟你用了一样的id,但是皮肤的ontimer时间很长
#7
很明显你定时器没有开成功,当你关闭ID=3的不存在的定时器时,出错了。皮肤里定时器可能和你开的定时器ID重复了,你可以开大一点的ID号。
#8
同意7楼...
#9
一般的SetTimer是这样用的。
m_nTimer = SetTimer(3, 2000, 0);
...
KillTimer(m_nTimer);
也就是说虽然我们在第一个参数里面指定了ID为3但是系统不一定会返回一个ID为3的定时器。一般情况下如果3被用了,系统会自动给一个比较大的给我们,这个就是SetTimer的返回值。
此外要注意的是当m_nTimer为0的时候,说明定时器申请失败,要看看为什么失败,建议看一下,代码如下:
m_nTimer = SetTimer(3,2000,0);
int nErr = GetLastError();
...
看看nErr的值一般就能知道为什么失败了。
m_nTimer = SetTimer(3, 2000, 0);
...
KillTimer(m_nTimer);
也就是说虽然我们在第一个参数里面指定了ID为3但是系统不一定会返回一个ID为3的定时器。一般情况下如果3被用了,系统会自动给一个比较大的给我们,这个就是SetTimer的返回值。
此外要注意的是当m_nTimer为0的时候,说明定时器申请失败,要看看为什么失败,建议看一下,代码如下:
m_nTimer = SetTimer(3,2000,0);
int nErr = GetLastError();
...
看看nErr的值一般就能知道为什么失败了。
#10
我先试一试你们说的啊
#11
我发现是创建成功了的,
#12
是否在消息映射里添加了定时器消息:
ON_WM_TIMER()
ON_WM_TIMER()
#13
严重同意7楼的看法!!!