Invalid parameter passed to C runtime function.Invalid parameter passed to C runtime function.Invalid parameter passed to C runtime function.Invalid parameter passed to C runtime function.QMutex::lock: Deadlock detected in thread 0x12b0
if(type_plot == ANALOG_TYPE) { y_max_primary = ct->getMaxValue(fn_dat+".DAT", num_channel,true); y_min_primary = ct->getMinValue(fn_dat+".DAT", num_channel,true); delta_scale_primary = calc_delta_scale(ct->getMaxValue(fn_dat+".DAT", num_channel,true),ct->getMinValue(fn_dat+".DAT", num_channel,true)); y_scale_test_primary = (this->size().height() - 20)/(2*delta_scale_primary); optimum_scale_primary = calc_optimum_scale_primary(); y_max_secondary = ct->getMaxValue(fn_dat+".DAT", num_channel,false); y_min_secondary = ct->getMinValue(fn_dat+".DAT", num_channel,false); delta_scale_secondary = calc_delta_scale(ct->getMaxValue(fn_dat+".DAT", num_channel,false),ct->getMinValue(fn_dat+".DAT", num_channel,false)); y_scale_test_secondary = (this->size().height() - 20)/(2*delta_scale_secondary); optimum_scale_secondary = calc_optimum_scale_secondary(); if( *(ct->DynamicCfg->AnalogChannels[num_channel].PS) == "P" ) { unit = *(ct->DynamicCfg->AnalogChannels[num_channel].Unit); ((plotWidget*)(this->parent()))->ppw->namePlot->setText(*(ct->DynamicCfg->AnalogChannels[num_channel].Name) + "," +*(ct->DynamicCfg->AnalogChannels[num_channel].Unit)); data = new QwtPointArrayData(ct->getTimeDataVector(fn_dat+".DAT"), ct->getAnalogDataVector(fn_dat+".DAT", num_channel,true), ct->DynamicCfg->NumSamples); //setAxisScale(QwtPlot::yRight, -(this->size().height() - 20)/(2*optimum_scale_primary), (this->size().height() - 20)/(2*optimum_scale_primary)); //!!!!!!!!!!Если оставить } if( *(ct->DynamicCfg->AnalogChannels[num_channel].PS) == "S" ) { unit = *(ct->DynamicCfg->AnalogChannels[num_channel].Unit); ((plotWidget*)(this->parent()))->ppw->namePlot->setText(*(ct->DynamicCfg->AnalogChannels[num_channel].Name) + "," + *(ct->DynamicCfg->AnalogChannels[num_channel].Unit)); data = new QwtPointArrayData(ct->getTimeDataVector(fn_dat+".DAT"), ct->getAnalogDataVector(fn_dat+".DAT", num_channel,false), ct->DynamicCfg->NumSamples); //setAxisScale(QwtPlot::yRight, -(this->size().height() - 20)/(2*optimum_scale_secondary), (this->size().height() - 20)/(2*optimum_scale_secondary));//!!!!!!!!!!Если оставить } else { } enableAxis(QwtPlot::yRight,true); enableAxis(QwtPlot::yLeft,false); setAxisAutoScale(QwtPlot::yRight,true); // //!!!!!!!!!!А это убрать, то через некоторое время работы вылетает setAxisScaleDraw(QwtPlot::yRight,new MyScaleDraw()); setAxisScale(QwtPlot::xBottom,start_time,end_time); setCanvasBackground(QColor(Qt::gray));...double Plot::calc_delta_scale(double max, double min){ double delta; double abs_min = qFabs(min); if(max >= abs_min) { delta = max; } else { delta = abs_min; } return delta;}double Plot::calc_optimum_scale_secondary(){ double tmp; for(int j = 0; j < (int)(sizeof(vec_scales)/sizeof(double)); j++) { if((y_scale_test_secondary >= vec_scales[j])&&(y_scale_test_secondary < vec_scales[j+1])) { tmp = vec_scales[j]; } } return tmp;}
setAxisScale(QwtPlot::yRight, -(this->size().height() - 20)/(2*optimum_scale_primary), (this->size().height() - 20)/(2*optimum_scale_primary)); //!!!!!!!!!!Если оставить
curve->attach(this); curve->setData(data);