드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
게시물ID : computer_22665짧은주소 복사하기
작성자 : 빵집상인★
추천 : 0
조회수 : 788회
댓글수 : 0개
등록시간 : 2011/11/04 21:21:39
일단 버튼의 OnBnClickedOk에서 CWinThread* pThread = AfxBeginThread(ThreadDownload, NULL); 이렇게 스레드를 만들었습니다.
그리고 나서 스레드 함수에서
CDownBooRuDlg* pMain = (CDownBooRuDlg*)AfxGetMainWnd();
이렇게 하고 pMain->멤버변수
이런 식으로 코딩을 하였습니다. 그래서 멤버변수를 엑세스 하는 순간 액세스 바이올레이션이 멋지게 뜨네요.
그리고 스레드 함수는 전역함수구요.
스레드 함수에서 일반 멤버변수를 호출시, 무조건 액세스 바이올레이션이 뜨는것인가요?;;
참고로 int형의 멤버변수는 잘 참조할 수 있지만
CString이나 멤버함수는 호출과 동시에 Access Violation이 뜹니다.
atlimpstr.h
int GetLength() const throw()
{
return( GetData()->nDataLength );
} //CString 참조시 위 함수에서
IAtlStringMgr* GetManager() const throw()
{
IAtlStringMgr* pStringMgr = GetData()->pStringMgr;
return pStringMgr ? pStringMgr->Clone() : NULL;
}//UpdateData 호출시
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.