|
자답이네요.
TIEAdvStringGrid에 행이나 열을 추가시
AddRow() 또는 AddColumn()을 사용하면 메모리 증가현상이 있네요..
RowCount +1 또는 ColCount +1을 사용하면 메모리를 점유안하네요..
이 방법으로 해결하였습니다.
양승일 님이 쓰신 글 :
: 안녕하세요
:
: C++빌더에 손댄지 1달 되어가는 초짜입니다.
:
: DB상에서 읽어온 데이터를 TIEAdvStringGrid에 출력한후
: 그리드의 내용을 엑셀로 출력하는 프로그램을 작성중입니다.
: 엑셀 출력은 TAdvGridExcelIO를 이용하고 있습니다.
:
: 일반적인 엑셀 출력에는 전혀 문제가 없으나
: 출력량이 많아지는 데이터 ( 약 2-3만행로 추정됩니다)를 출력시에는
: 어김없이 out of memory 에러가 발생하는데요.
: (그리드에 데이터를 입력하던중 발생한다고 추정하고 있습니다)
:
: 이것을 방지하기 위해 그리드상에 1만행의 데이터가 있으면 먼저 엑셀에 출력후
: 다시 그리드상에 1만행의 데이터를 저장후 동일 엑셀파일에 다시 출력하고 싶습니다.
:
: 지금까지 제가 찾은 방법으로는 처음 만행의 데이터는 엑셀에 저장이 잘되어지나
: 2번째의 만행이 출력이 될때는 overwrite가 되어 기존의 데이터가 사라져 버리네요.
:
: 이것을 방지할 방법이나 대체할 방법을 알고 계시면 조언부탁드리겠습니다.
|