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
[36993] Re:vc에서 만든 클래스를 쓰려는데...
유영인 Cuperido [cuperido] 782 읽음    2004-08-26 12:33
윈도우 API등에 대해서는 Windows 단에서 지원을 하는 것이기 때문에 VC와 Builder의
차이는 생기지 않습니다.

다만, 확인해주셔야할 문제는, 스트럭쳐에 동적인 객체들이 없는지 (스트링등의 여부)
스트럭쳐의 인코딩 단위가 기본 값인 4인지, 또한 아래 작업 스텝을 거치면서 핸들의 변화등을
하나씩 읽어보시는 것이 좋으실것 같습니다.

프로그램 자체가 다운 된다는 것은, 메모리 부분과 연관이 크다고 생각합니다. 아래
ZeroMemory 등의 부분에서 크기가 엉뚱하게 읽힌 BmpImage[i].InfoHD.biSizeImage이나
정확하지 않은 포인터의 BmpImage[i].Data 등에 데이터를 쓸때 발생할 수 있는 그런
문제라 생각됩니다.


cuperido


kallru 님이 쓰신 글 :
: bmp 포맷을 읽어서 제가 만든 포맷으로 변환하는 클래스를 C++빌더에서 툴로 만들려고
: 인크루드 시켜서 쓰려고 하는데요.
:
: shj 포맷(제가 만든 포맷)을 로드 할때 이상하게 무한 루프에 빠지는 건지
: 프로그램이 먹통이 되버리는 군요.
: mfc나 vc에서 사용하면 아무런 문제 없이 잘 돌아가는데 말이죠.
:
: void __fastcall TForm1::BitBtn2Click(TObject *Sender)
: {//shjLoad button
:   OD->Filter="ShjFile(*.shj)|*.shj|All(*.*)|*.*";
:   AnsiString Temp;
:   if(OD->Execute())
:   {
:     shj.LoadingSHJ(OD->FileName.c_str());
:
:     for(int i=0; i<15; i++)
:     {
:       Temp.sprintf(&shj.BmpImage[i].FileName[0]);
:       ListBox1->Items->Add(Temp);
:     }
:   }
: }
:
: 버튼 부분의 소스 입니다.
: shj.LoadingSHJ(OD->FileName.c_str());
:
: LoadingSHJ() 함수가 char * 로 인자를 받기 때문에 저렇게 줬습니다.
:
:
:
:                       BmpImage[i].Data=new BYTE[ BmpImage[i].InfoHD.biSizeImage ];
:         ZeroMemory(BmpImage[i].Data, BmpImage[i].InfoHD.biSizeImage);
:
:         ReadFile(Rfpt,&BmpImage[i].Data[0], BmpImage[i].InfoHD.biSizeImage, &RWSize,NULL);
:     }
:     CloseHandle(Rfpt);
:
: 이 소스는 LoadingSHJ 함수 안에서 메모리를 확보하고 읽어들이는 부분인데
: 디버깅을 해보니까 이 부분에서 커서가 사라지고 먹통이 됩니다. -_-;;;
: 그림파일이라서 상당히 많은 메모리를 확보하는데...으음
:
: 뭐가 잘못 된건지 모르겠어요. C++빌더는 처음 써보는 거라 힘든게 여러가지 많군요 -_-;;
: 왜 잘 돌아가는 클래스를 그대로 가저다가 썼는데 먹통이 되버리는 걸까요-_-;;

+ -

관련 글 리스트
36979 vc에서 만든 클래스를 쓰려는데... kallru 767 2004/08/25
36993     Re:vc에서 만든 클래스를 쓰려는데... 유영인 Cuperido 782 2004/08/26
37003         Re:Re:vc에서 만든 클래스를 쓰려는데... kallru 731 2004/08/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.