你上面的 for (i=0;i<vertices;i++) { for(j=0;j<vertices;j++) { if(i==j)continue; // 这个是什么意思?再看你的OnOK函数中的,对i,j的值并没有什么限制
那么请在OnOK里做同样的控制~
或者先判断一下GetSafeHwnd()是否不为NULL
上面两种方法我都试了下还是不行啊! 第一种方法太长就不贴了 int i,j; if (GetSafeHwnd()==NULL) { MessageBox("GetSafeHwnd is NULL"); return; } else { for (i=0;i<vertices;i++) { for (j=0;j<vertices;j++) { array[i][j]=ce[i][j].GetDlgItemInt(i*vertices+j); } } }
for (i=0;i<vertices;i++) { for (j=0;j<vertices;j++) { if(NULL != ce[i][j].GetSafeHwnd()) array[i][j]=ce[i][j].GetDlgItemInt(i*vertices+j); } }
for (i=0;i<vertices;i++)
{
for(j=0;j<vertices;j++)
{
if(i==j)continue; // 这个是什么意思?再看你的OnOK函数中的,对i,j的值并没有什么限制
第一种方法太长就不贴了
int i,j;
if (GetSafeHwnd()==NULL)
{
MessageBox("GetSafeHwnd is NULL");
return;
}
else
{
for (i=0;i<vertices;i++)
{
for (j=0;j<vertices;j++)
{
array[i][j]=ce[i][j].GetDlgItemInt(i*vertices+j);
}
}
}
{
for (j=0;j<vertices;j++)
{
if(NULL != ce[i][j].GetSafeHwnd())
array[i][j]=ce[i][j].GetDlgItemInt(i*vertices+j);
}
}