为什么打字时间长点就变成停滞状态???

wjf598 2007-04-05 10:58:35
我改了一个输入法源码,打字规则非常满意,可是输入法完成后,现在打字不到20分钟,电脑屏幕就变成停滞状态,像要死机了似的。
我的输入法是VC6 + ddk 2k 实现的!
有没有解决的好法子???
...全文
310 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ytm51 2009-11-30
  • 打赏
  • 举报
回复
可能是数组超过范围或者访问非法。
wjf598 2007-04-12
  • 打赏
  • 举报
回复
这是有什么用的呀?????万望指教?!

ZeroMemory(((LPBYTE)lpCandList + lpCandList->dwOffset[0]), IME_MAXCAND * sizeof
sslong33 2007-04-11
  • 打赏
  • 举报
回复
ding
wjf598 2007-04-07
  • 打赏
  • 举报
回复
在今天的测试中我试着将原本的源码生成之后直接打字,结果还是有同样的问题,之有它们的状态不是完全一样外没什么差别。万望指教?!
wjf598 2007-04-06
  • 打赏
  • 举报
回复
今天我又试了一次我的输入法。是在WORD中输入文字的,写完后出现“WPRD内存不足”的提示!
这是什么原因呢?
wjf598 2007-04-06
  • 打赏
  • 举报
回复
应该不是,我用的源码(compose.c)中有这样一段(这里面我一点也没改的):
/* Finalize() */
UINT PASCAL Finalize(
LPINPUTCONTEXT lpIMC,
LPCOMPOSITIONSTRING lpCompStr,
LPPRIVCONTEXT lpImcP,
WORD wCharCode)
{
LPCANDIDATEINFO lpCandInfo;
LPCANDIDATELIST lpCandList;
UINT fEngine;

if (!lpIMC->hCandInfo) {
return (0);
}

// get lpCandInfo
lpCandInfo = (LPCANDIDATEINFO)ImmLockIMCC(lpIMC->hCandInfo);

……
((LPBYTE)lpCandInfo + lpCandInfo->dwOffset[0]);
lpCandList->dwCount = 0;
lpCandList->dwSelection = 0;
/////需要清除 cand 缓冲区??????
//ZeroMemory(((LPBYTE)lpCandList + lpCandList->dwOffset[0]), IME_MAXCAND * sizeof(TCHAR) );

// search the IME tables
……
从注释看,是他的程序的问题……
chehw 2007-04-05
  • 打赏
  • 举报
回复
可能是你改的有问题

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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