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
[11788] Re:[만해] 소멸자에서 에러가 나는데 정확한 이유를 모르겠네요
박지훈.임프 [cbuilder] 899 읽음    2001-10-15 21:40
임프랍니다.

소스가 이상하군요. 일부가 빠진듯 한데...
init() 함수에서 억세스하고 있는 FLinkTags, FFrameTags, FImgTags 등은 선언도 안되어있구요.
생성자에서도 초기화를 한다든지 하는 부분이 없네요.
전체를 보여주셔야 해결이 될 듯...

그럼 이만...


만해 님이 쓰신 글 :
: 안녕하세요 만해 입니다.
:
: 제가 정희한 클래스의 일부 구요~
:
: class THtmlParser
: {
: private:
:   AnsiString  FTitle;
:
: public:
:   AnsiString FHtml;
:   AnsiString FTagString;
:   THtmlParser();
:   ~THtmlParser();
:   Div_Token();
:   TStringList* FText;
:   TStringList* FLinkes;
:   TStringList* FImages;
:   TStringList* FImg;
:   TStringList* FTags;
:   int Linkes_cnt;
:
:   bool init( void );
:   void Execute ( void );
:   void FPass(void);
:   void SPass(void);
:   void Process_Token (TStringList* Token);
:   void Divide_Token (AnsiString token,TStringList* Token);
: };
:
: 밑의 소스는 생성자입니다.
:
: THtmlParser::THtmlParser()
: {
:   init();
:   Linkes_cnt=0;
:   FLinkes = new TStringList;
:   FImages = new TStringList;
:   FTags = new TStringList;
:   FText = new TStringList;
: }
: //---------------------------------------------------------------------------
: /*Struct TDefTagStruct
:   {
:     char[10] TagName;
:     int      TagLength;
:     ETagKind TagKind;
:   }*/
: //---------------------------------------------------------------------------
: bool THtmlParser::init(void)
: {
:   FLinkTags[0]="ADDRESS";
:   FLinkTags[1]="A";
:   FFrameTags[0]="IFRAME";
:   FFrameTags[1]="FRAME";
:   FFrameTags[2]="FRAME";
:   FFrameTags[1]="FRAME";
:   FImgTags[0]="IMG";
:   FAddOnTags[0]="LINK";
:   FAddOnTags[1]="EMBED";
:   FAddOnTags[2]="BGSOUND";
: return false;
: }
:
: 그리고 밑의 소스는 소멸자 이고요
:
: THtmlParser::~THtmlParser()
: {
:   delete FLinkes;
:   delete FImages;
:   delete FTags;
:   delete FText;
: }
:
: 이 클래스를 제 프로젝트에서 사용을 하는데
:
: 우선
:
: #pragma link "wininet.lib"         // WinInet 라이브러리 링크
: TForm1 *Form1;
: THtmlParser* Parser;
:
: 씨플플 소스 부분에서 정의를 해 줬고요
:
: OnCreate 부분에서
: Parser = new THtmlParser; <- 메모리 할당을 했습니다.
:
: 그리고
:
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
:   Parser->FHtml = RichEdit1->Text;
:   Parser->Execute();
:   Parser->FLinkes->SaveToFile("Links.txt");
:   RichEdit2->Lines->LoadFromFile("Links.txt");
: /*  RichEdit2->Lines->AddStrings(Parser->FText);
:   RichEdit3->Lines->AddStrings(Parser->FTags);
:   RichEdit4->Lines->AddStrings(Parser->FLinkes);*/
:
: }
:
: 이렇게 사용을 하고
:
: void __fastcall TForm1::FormDestroy(TObject *Sender)
: {
:   delete Parser;       
: }
:
: 위와 같이 종료를 시킬때 메모리에서 삭제 할려고 하는데 자구 에러가 나네요
:
: 코드가드도 뜨면서 메모리 릭이라고 하고요
:
: 소멸자의 위치를 어디로 해야 하는지 잘 모르겠네요
:
: 좀 알려 주세요
:
: 그럼 이만
:
:
:
:

+ -

관련 글 리스트
11771 [만해] 소멸자에서 에러가 나는데 정확한 이유를 모르겠네요 만해 949 2001/10/14
11788     Re:[만해] 소멸자에서 에러가 나는데 정확한 이유를 모르겠네요 박지훈.임프 899 2001/10/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.