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

FireBird Q&A
[882] Re:[자답]델파이6에서 IBX 6.05 사용시 메모리누수 현상 발생
이성호 [] 2630 읽음    2004-02-18 13:39
우연한 기회에 원인을 발견했습니다.
버그인지 의도된 건지 알수없지만 IBX는 TQuery를 이용하여 Query를 던진후
Unprepare 메소드를 호출하지 않으면 내부적으로 사용한 메모리를 해제하지않고
남아있게됩니다. 그래서 점유 메모리가 계속적으로 증가하게 되는거죠.
아래의 예제와 같은 순서로 TQuery를 사용하시면 됩니다.

procedure TExeTextAcceptDBase.InsertKeywordJoin(fTextNo: Double; sKey: String);
begin
  with qrTemp1 do
  begin
    Close;
    Unprepare;
    SQL.Clear;
    SQL.Add('insert into TB_KEYWORDJOIN');
    SQL.Add('values (gen_id(GN_KEYWORDJOIN, 1), :fk_textadvno, :keyword)');
    ParamByName('fk_textadvno').AsFloat := fTextNo;
    ParamByName('keyword').AsString := skey;
    Prepare;
    ExecSQL;
  end;
end;

이성호 님이 쓰신 글 :
: 안녕하십니까?
: 델파이6에서 IBX 6.05를 사용해서 약9만건의 데이터를 동시에 Import 하는
: 프로그램을 작성중 입니다. 그런데 한 만건쯤 Insert하면 Out of Memory 에러가
: 발생합니다. 이상해서 몇가지 테스트를 해보았는데요. TIBQuery를 이용해서
: Insert를 할때마다 메모리 누수현상이 발생하는지 장치관리자에서 보면 사용
: 메모리가 자꾸 증가 하더군요. 대충 1000건에 30M정도의 메모리 누수가 생깁니다.
: 혹시 이런현상 경험하신분 계신가요. 고수님들 한수 부탁드립니다.

+ -

관련 글 리스트
799 델파이6에서 IBX 6.05 사용시 메모리누수 현상 발생 이성호 2083 2003/09/16
882     Re:[자답]델파이6에서 IBX 6.05 사용시 메모리누수 현상 발생 이성호 2630 2004/02/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.