在进行Windows窗口编程时遇到如下报错
用代码块功能
```c++
#include "resource.h"
#include "BForm.h"
#include "BDijkstra.h"
CBForm form1(ID_djform1);
bool FunDjCalculatingCallBack(int iCycled, int iTotalCycleCurrent, long userData)
{
CBControl lblStatus = form1.Control(ID_lblStatus);
lblStatus.TextSet(iCycled);
lblStatus.TextAdd(TEXT("次循环已完成"));
if (iTotalCycleCurrent)
{
lblStatus.TextAdd(TEXT("剩余"));
lblStatus.TextAdd(iTotalCycleCurrent);
lblStatus.TextAdd(TEXT("次循环..."));
}
else
lblStatus.TextAdd(TEXT("。"));
DoEvents();
return true;
}
void cmdDo_Click()
{
CBDijkstra dj;
long *idNodes;
long ctPaths;
long distance, i;
dj.Clear();
dj.AddNodesDist('A', 'B', 6);
dj.AddNodesDist('A', 'C', 3);
dj.AddNodesDist('B', 'C', 2);
dj.AddNodesDist('B', 'D', 5);
dj.AddNodesDist('C', 'D', 3);
dj.AddNodesDist('C', 'E', 4);
dj.AddNodesDist('D', 'E', 2);
dj.AddNodesDist('D', 'F', 3);
dj.AddNodesDist('E', 'F', 5);
ctPaths = dj.GetDistance('A', 'F', distance, idNodes, FunDjCalculatingCallBack);
form1.Control(ID_lstPath).ListClear();
if (ctPaths > 0)
{
form1.Control(ID_txtDistResu).TextSet(distance);
TCHAR szItem[2] = { TEXT('\0') };
for (i = 0; i < ctPaths; i++)
{
szItem[0] = (CHAR)idNodes[i];
form1.Control(ID_lstPath).AddItem(szItem);
}
}
else if (ctPaths < 0)
MsgBox(TEXT("节点之间无路径!"), TEXT("计算结果"), mb_OK, mb_IconExclamation);
else
MsgBox(TEXT("计算出错!"), TEXT("计算结果"), mb_OK, mb_IconExclamation);
}
int main()
{
form1.EventAdd(ID_cmdDo, eCommandButton_Click, cmdDo_Click);
form1.IconSet(IDI_ICON1);
form1.Show();
return 0;
}
尝试过断点运行,无法排出错误