C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[40435] Re:Re:Re:Re:Re:Re:트레이아이콘에 대해서 질문입니다.
evergreen [heredity] 1131 읽음    2005-06-06 19:07
안녕하세요 heredity입니다.

상황은 여러가지가 있을 수 있지만(사용중인 DLL에 손상을 입었거나 설치 프로그램을 잘못 제거했다거나...),
대부분 사용자가 작성한 프로그램에 오류가 있는 경우가 많습니다.
아래 코드는 
  1. 할당되지 않은 Pointer 변수를 참조한 경우,
  2. NULL Pointer를 할당한 경우 및
  3. 해제된 메모리를 참조한 경우
입니다.

특히 3번의 경우가 제일 범하기 쉬운 경우입니다(멀티 쓰레드 프로그램을 작성할 경우엔 정말 많이 발생하죠 ^^;;)
천천히 님이 작성한 프로그램의 소스를 분석해 보세요. 좋은 결과가 있을 겁니다.
즐~

//---------------------------------------------------------------------------
// 1
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int   nStr   = 100;
  PCHAR pchStr;

  memset( pchStr, 'A', nStr - 1 );
}

//---------------------------------------------------------------------------
// 2
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  int   nStr   = 100;
  PCHAR pchStr = NULL;

  memset( pchStr, 'A', nStr - 1 );
}

//---------------------------------------------------------------------------
// 3
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  int   nStr   = 100;
  PCHAR pchStr = new char [nStr];
 
  memset( pchStr, 'A', nStr - 1 );
  pchStr[nStr - 1] = '\0';
 
  delete pchStr;
 
  memset( pchStr, 'A', nStr - 1 );
  pchStr[nStr - 1] = '\0';
}


공윤경 님이 쓰신 글 :
: 프로젝트 SMARTMon.exe가 EAccess violation 클래스의 예외를 발생했습니다. '주소 00454 A27로 주소 0000014 C에 대한 읽기 위반이 일어났습니다. '프로세스는 정지하고 있습니다. 재개하려면  스텝 실행 또는 실행을 선택해 주세요
:
: 에러메세지가 이런게 떠요
:
:
: 공윤경 님이 쓰신 글 :
: : 지금 메신저에 등록했거든요...
: : 접속하셨을때 보내드릴께요.
: : 수야!╋ 님이 쓰신 글 :
: : : 말씀하신 부분의 자체적인 문제는 없습니다.
: : :
: : : 말씀해주신 상황데로 테스트 해봤는데요
: : :
: : : 문제는 발생되지 않는군요..
: : :
: : : 메인폼의 OnShow와 OnCreate 부분을 확인해볼만 할것 같군요
: : :
: : : 영 안된다 싶고 소스를 제가 봐도 된다면 한번 보고싶네요
: : :
: : : 소스를 봐도 되면 <- 메신저 추가해주세요
: : : MSN : sooya23@hanmail.net
: : :
: : :
: : :
: : : 공윤경 님이 쓰신 글 :
: : : : :
: : : : :         Application->Initialize();
: : : : :         Application->ShowMainForm = false;
: : : : :         Application->CreateForm(__classid(TFrmMain), &FrmMain);
: : : : :                                 FrmMain->Visible=false; <-----이부분
: : : : :         Application->Run();
: : : :
: : : : TrayIcon을 위해 소스에 추가한 부분은 없는데요...
: : : : 이미지리스트, 팝업, 트레이아이콘 이렇게 세개를 썼구요.
: : : : 디폴트로 되어있는값 그래로에 오른쪽 마우스버튼 누르면 팝업이 뜨게 한건데요...
: : : : 실행하고나서 오른쪽 마우스버튼을 누르니까 그런 에러가 뜨네요
: : : :
: : : : 이부분에서
: : : :          Application->ShowMainForm = false;
: : : : 이게 문제가 될수도 있나요?
: : : : 이걸 지웠더니 에러가 안나는데 ^^;
: : : : 문제는 이놈을 지웠더니 트레이아이콘이랑 메인폼이 같이 떠서요...
: : : : 별짓다해도 같이 뜨네요. Visible을 true로 했다 false로 했다가...ㅠㅠ
: : : :
: : : : 오늘아참 담당자가 메일로
: : : : "간단한 일만 남았습니다.트레이아이콘을 써서 프로그램을 바꿔주세요.프로그램 실행시 테스크트레이에 아이콘이 생기고 그걸 이용해 실행시키기만 하면 되는겁니다."
: : : : 해서
: : : : 넹...
: : : : 그러고 지금 이러고 있어요.
: : : : 저에겐 간단하지가 않네요 으흐흑

+ -

관련 글 리스트
40407 트레이아이콘에 대해서 질문입니다. 공윤경 1332 2005/06/03
40412     Re:트레이아이콘에 대해서 질문입니다. 수야!╋ 1743 2005/06/03
40414         Re:Re:트레이아이콘에 대해서 질문입니다. 공윤경 1141 2005/06/03
40416             Re:Re:Re:트레이아이콘에 대해서 질문입니다. 수야!╋ 1223 2005/06/03
40427                 Re:Re:Re:Re:트레이아이콘에 대해서 질문입니다. 공윤경 936 2005/06/04
40438                     Re:Re:Re:Re:Re:트레이아이콘에 대해서 질문입니다. 수야!╋ 1087 2005/06/07
40431                     Re:Re:Re:Re:Re:트레이아이콘에 대해서 질문입니다. 공윤경 959 2005/06/06
40435                         Re:Re:Re:Re:Re:Re:트레이아이콘에 대해서 질문입니다. evergreen 1131 2005/06/06
40411     Re:트레이아이콘에 대해서 질문입니다. 공윤경 1078 2005/06/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.