어제 왜 클래스 속에있는 구조체배열을 생성자에서 초기화하면 비트맵핸들이 계속 NULL값으로 잡히는가에 대해 질문했었는데

이유를찾았다.

구조체배열이 있는 클래스와 그 구조체배열에생성자에서 초기화할때 쓸 정보를저장한배열 두개다 전역으로 했던게 문제였다.

정보를 저장한배열은 WM_CREATE메시지가오면 즉 윈도우가 생성과 동시에 초기화가 되도록해놨고 구조체배열이 있는 클래스는 서브클래싱할때 쓰이는거라 시간에흐름상 아무 문제가없을줄알았었는데

뭔가꺼림칙해서 다시생각해보니 클래스를 전역변수로 선언했던것...!! 그말은 정보를담은배열이 초기화되기전에 이미 클래스의 생성자가호출이되고 생성자에선 초기화되지않은(NULL값으로되있는)값으로 구조체배열을 초기화한것...!

와 방심하고있었다. 이런실수를하다니...

From dcinside app for Android