BREW程序调试过程中出现:
First-chance exception in BREW_Simulator.exe (BREWAPP.DLL): 0xC0000005: Access Violation.
的问题。
程序:
extern void HandleKeySelect(InfoView *pMe)
{
uint16 itemID = 0;
int i;
info *p;
char *pUrl;
p = pMe->Head;
itemID = IMENUCTL_GetFocus ( pMe->pIMenuCtl );
for(i=1;i< itemID && p; i++)
{
p = p->pNext;
}
pUrl = (char *)MALLOC(strlen(p->Address));
STRCPY(pUrl,p->Address,strlen(p->Address));//网址取得
WebDemo_GetPage(pMe,pUrl);//在这个函数调用出错。
// IHTMLVIEWER_SetActive(pMe->pIHtmlView,TRUE);
FREE(pUrl);
}
extern void WebDemo_GetPage(InfoView *pInfoView,char *pUrl)
{
IWEB_GetResponseV(pInfoView->pIWeb,&pInfoView->pIWebResp,
&pInfoView->cbWeb,pUrl,WEBOPT_END); //程序运行到此出现上面说的错误。该函数第一次调用没有任何问题,第二次调用出错。
}
跟了一天了,还是不知道问题出在哪儿,请高手指教一下 ,不胜感激!
------解决方案--------------------------------------------------------
pUrl=NULL;
pUrl = (char *)MALLOC(strlen(p->Address));
这样试下啊
------解决方案--------------------------------------------------------
1、你这样试一下
char *pUrl = NULL;
pUrl = (char *)MALLOC(strlen(p->Address) + 1);
if (!pUrl)
return;
2、HandleKeySelect退出前先不要着急FREE(pUrl)再看看。