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

maltsevvv

New member
03.07.2014
4
0
#1
Создал класс, который должен рисовать таблицу.

C++:
#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;
};
Методы - пока голые:
C++:
HederClass::HederClass()
{
}

HederClass::~HederClass()
{
}
...........

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

C++:
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.
....

В чём дело?

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