• 4396阅读
  • 2回复

[提问]runtime erro [复制链接]

上一主题 下一主题
离线jiang_198586
 

只看楼主 倒序阅读 楼主  发表于: 2011-09-28
为什么我编写的程序,运行会出现runtime erro,而且这个错误有时出现,有时不会出现
离线jdwx

只看该作者 1楼 发表于: 2011-09-28
回 楼主(jiang_198586) 的帖子
运行错误,好办。
运行你的程序,逐项操作功能,看看哪个功能那里出问题,
在可能出问题的地方调试,逐行执行代码,就能找到
问题在哪里了。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线jiang_198586

只看该作者 2楼 发表于: 2011-09-29
我知道哪边有bug,但是有时运行不会报错,有时就报错。
出错代码如下:
void MyCanvas::addSelectedBox(PTBaseClass drawCellArray){
    //存储要添加选中的位置
    left=drawCellArray->cellPosition.left-4;
    right=drawCellArray->cellPosition.right-4;
    top=drawCellArray->cellPosition.top-4;
    bottom=drawCellArray->cellPosition.bottom-4;

    //添加选中框
    rect1=ownmain->mycanvas->addRect(drawCellArray->cellPosition.left-4,drawCellArray->cellPosition.top-4,6,6,QPen(QColor(255,255,255)),QBrush(QColor(0,128,0)));
    rect2=ownmain->mycanvas->addRect(drawCellArray->cellPosition.left-4,drawCellArray->cellPosition.bottom-4,6,6,QPen(QColor(255,255,255)),QBrush(QColor(0,128,0)));
    rect3=ownmain->mycanvas->addRect(drawCellArray->cellPosition.left-4,(drawCellArray->cellPosition.top+drawCellArray->cellPosition.bottom)/2-4,6,6,QPen(QColor(255,255,255)),QBrush(QColor(0,128,0)));

    rect4=ownmain->mycanvas->addRect((drawCellArray->cellPosition.left+drawCellArray->cellPosition.right)/2-4,drawCellArray->cellPosition.top-4,6,6,QPen(QColor(255,255,255)),QBrush(QColor(0,128,0)));
    rect5=ownmain->mycanvas->addRect((drawCellArray->cellPosition.left+drawCellArray->cellPosition.right)/2-4,drawCellArray->cellPosition.bottom-4,6,6,QPen(QColor(255,255,255)),QBrush(QColor(0,128,0)));

    rect6=ownmain->mycanvas->addRect(drawCellArray->cellPosition.right-4,drawCellArray->cellPosition.top-4,6,6,QPen(QColor(255,255,255)),QBrush(QColor(0,128,0)));
    rect7=ownmain->mycanvas->addRect(drawCellArray->cellPosition.right-4,(drawCellArray->cellPosition.top+drawCellArray->cellPosition.bottom)/2-4,6,6,QPen(QColor(255,255,255)),QBrush(QColor(0,128,0)));
    rect8=ownmain->mycanvas->addRect(drawCellArray->cellPosition.right-4,drawCellArray->cellPosition.bottom-4,6,6,QPen(QColor(255,255,255)),QBrush(QColor(0,128,0)));

    selected=true;
  }

//清除选中框
if(left!=0 && right!=0 && top!=0 && bottom!=0){
             QGraphicsItem *item1=ownmain->mycanvas->rect1;
             ownmain->mycanvas->removeItem(item1);
             QGraphicsItem *item2=ownmain->mycanvas->rect2;
             ownmain->mycanvas->removeItem(item2);
             QGraphicsItem *item3=ownmain->mycanvas->rect3;
             ownmain->mycanvas->removeItem(item3);
             QGraphicsItem *item4=ownmain->mycanvas->rect4;
             ownmain->mycanvas->removeItem(item4);
             QGraphicsItem *item5=ownmain->mycanvas->rect5;
             ownmain->mycanvas->removeItem(item5);
             QGraphicsItem *item6=ownmain->mycanvas->rect6;
             ownmain->mycanvas->removeItem(item6);
             QGraphicsItem *item7=ownmain->mycanvas->rect7;
             ownmain->mycanvas->removeItem(item7);
             QGraphicsItem *item8=ownmain->mycanvas->rect8;
             ownmain->mycanvas->removeItem(item8);

              selected=false;
              pt_selected=false;
              connect_selected=false;
          }
快速回复
限100 字节
 
上一个 下一个