crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Ошибка "Heap block...
rcdimon
  опции профиля:
сообщение 9.10.2010, 10:41
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 69
Регистрация: 27.10.2009
Пользователь №: 1183

Спасибо сказали: 1 раз(а)




Репутация:   0  


Всем привет. Делаю виджет для рисования графиков особого вида. На виджете будет сам график, шкалы, легенда и горизонтальная полоса прокрутки. Но на первом же этапе наткнулся на непонятную для меня ошибку. Использую QT Creator. Все из QT SDK.

Этот код запускается, картинку отрисовывает (1 пиксель). Но при закрытии программы вываливаются ошибки

Цитата
HEAP[ColorView.exe]:
Heap block at 0906B848 modified at 0906B864 past requested size of 14
HEAP[ColorView.exe]:
Invalid address specified to RtlFreeHeap( 09060000, 0906B850 )


Если создавать QImage прямо в PaintEvent- то все нормально. Но мне нужно чтобы этот QImage, который у меня выполняет роль холста для рисования, был глобальным, доступным для различных функций.


#include "CView.h"

#include <QWidget>
#include <QtGui>
#include <QLayout>


CView::CView(QWidget *parent)
    : QWidget(parent)
{

    DrawArea = new QImage(3, 3, QImage::Format_RGB32);
    QRgb value;

    value = qRgb(189, 149, 39); // 0xffbd9527
    DrawArea->setPixel(1, 1, value);

}

CView::~CView(){

}

void CView::paintEvent(QPaintEvent *)
{
    QImage image = *(this->DrawArea);
    QPainter painter(this);
    painter.drawImage(0,0,image);

}


CView.h
#ifndef CVIEW_H
#define CVIEW_H

#include <Qpainter>
#include <QWidget>
#include <QtGui>


class CView : public QWidget
{
    Q_OBJECT

    public:
        CView(QWidget *parent);
        ~CView();
    public slots:


    protected:


    private:
        QImage *DrawArea;
        void paintEvent(QPaintEvent *);

};


#endif


Сообщение отредактировал rcdimon - 9.10.2010, 10:48
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


7 чел. читают эту тему (гостей: 7, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 3.1.2025, 4:46