1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

Странно Работает Класс.

Тема в разделе "С и С++", создана пользователем maltsevvv, 28 дек 2014.

  1. maltsevvv

    maltsevvv New Member

    Репутация:
    0
    Регистрация:
    3 июл 2014
    Сообщения:
    4
    Симпатии:
    0
    Создал класс, который должен рисовать таблицу.

    Код:
    #pragma once
    
    typedef struct tagSECTOR
    {
    int		Min;
    int		Max;
    } SECTOR;
    
    typedef struct tagGRIDHEDER
    {
    SECTOR	PaintSector;
    SECTOR	CentrSector;
    SECTOR	ResizeSector;
    BOOL	bVisible;
    } GRIDHEDER;
    
    class HederClass
    {
    public:
    HederClass();								// constructor
    ~HederClass();								// destructor
    void Paint(HDC);							// отображает массив заголовков
    void ChangeVisibleArea(int, int, int, int);	// пересчитывает параметры при изменении размеров окна
    void Recalc(void);
    
    private:
    SECTOR ColsVisibleArea, RowsVisibleArea;
    GRIDHEDER ColsHeder[COLS_COUNT];			//Структура для хранения информации о размерах столбцов
    GRIDHEDER RowsHeder[ROWS_COUNT];			//Структура для хранения информации о размерах строк
    int iColselection;
    };
    Методы - пока голые:
    Код:
    HederClass::HederClass()
    {
    }
    
    HederClass::~HederClass()
    {
    }
    ...........

    Ничего пока не делал, кроме объявления класса:

    Код:
    HederClass cHDR;
    Если значение COLS_COUNT или ROWS_COUNT ставлю небольшое, ну например 500, то программа нормально работает,
    если значение 10000, то после появления окна, программа зависает. В окне вывода пишет:
    Первый этап обработки исключения по адресу 0x01011697 в TestClass.exe: 0xC00000FD: Stack overflow (параметры: 0x00000000, 0x00272000).
    "TestClass.exe" (Win32). Загружено "C:\Windows\SysWOW64\ole32.dll". Невозможно найти или открыть PDB-файл.
    "TestClass.exe" (Win32). Загружено "C:\Windows\SysWOW64\clbcatq.dll". Невозможно найти или открыть PDB-файл.
    "TestClass.exe" (Win32). Загружено "C:\Windows\SysWOW64\oleaut32.dll". Невозможно найти или открыть PDB-файл.
    Первый этап обработки исключения по адресу 0x01011697 в TestClass.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00270000.
    Первый этап обработки исключения по адресу 0x01011697 в TestClass.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00270000.
    Первый этап обработки исключения по адресу 0x01011697 в TestClass.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00270000.
    ....

    В чём дело?

    С уважением Виктор.
     
Загрузка...

Поделиться этой страницей