回调函数的奇怪问题~~急!!!!!

taoyi 2005-03-31 03:17:09
经过很长时间的检查,始终没有发现问题,望大师们指救,帮想想可能出现错误的地方.

问题是这样的,在一个过程内部需要频繁地调用该回调函数以返回一个随时数值信息,但在使用时,却发现该回调函数只执行一次就终止了,但如果在该过程内加入ShowMessage方法(BCB中的方法)显示该数值,却发现可以正常的运行.
如下:
void Proc(int n)
{
ShowMessage(IntToStr(n)); // 注释掉这句就不能正常运行了,好生奇怪.......!!!!
if (callbackfunc != NULL)
(*callbackfunc)(n); // 执行回调
}

请各位帮忙想想可能是什么问题导致了这种情况,谢谢~!!!!
...全文
131 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
BeRoy 2005-04-04
  • 打赏
  • 举报
回复
up
我不懂电脑 2005-04-01
  • 打赏
  • 举报
回复
void Proc(int n)
{
n++;
n--;

if (callbackfunc != NULL)
(*callbackfunc)(n); // 执行回调
}
Waiting4you 2005-04-01
  • 打赏
  • 举报
回复
是线程的话用临界区或Synchronize
constantine 2005-04-01
  • 打赏
  • 举报
回复
void Proc(int n)
{
n++;
n--;

if (callbackfunc != NULL)
(*callbackfunc)(n); // 执行回调
}
这样也行,不懂
futulove 2005-03-31
  • 打赏
  • 举报
回复
在ShowMessage的地方加上一个Sleep(200)之类

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧