|
제 경우에는 5년 넘게 빌더로 프로그래밍을 해왔지만 AnsiString을 한번도 동적으로 생성한 적이 없습니다;;;;;;;
지금 컴퓨터에 BCB가 안깔려 있어서 테스트를 못해드리겠네요. -o-;;;;;;;
코드를 보니 다른 분 말씀대로 TStringList를 쓰시는 것이 100배 나을 듯 합니다...
TStringList *aa = new TStringList();
aa->Add(추가스트링1);
aa->Add(추가스트링2);
aa->Add(추가스트링...);
aa->Add(추가스트링1600);
aa->Clear(); // 스트링 전부 지우기
delete aa;
훨씬 간단하지 않을까요?
alberddo 님이 쓰신 글 :
: 제 코드를 정확히 표현하면 다음과 같습니다.
: sData1 = new AnsiString[1600]; <= 가변적이지만 대략 1000개에서 1600개 사이의 값이 사용
: sData1[0] = "....."; <= 항상 1000개의 문자열씩 저장
: ...
: sData1[199] = ".....";
:
: sData2 = new AnsiString[1600];
: sData2[0] = ".....";
: ...
: sData2[199] = ".....";
:
: ...
:
: sData50 = new AnsiString[1600];
: sData50[0] = ".....";
: ...
: sData50[199] = ".....";
: 컴파일하다보면 sData30[]정도에서 에러가 발생해서 문의드렸습니다.(포인트배열 *sData[50]을 사용하다 바뀠음)
: TStringList는 TList에 String을 Item으로 사용한 것과 동일하지 않나요?
: 저의 경우는 프로그램 시작시에 고정된 문자열을 읽어서 초기화시킨 이후에 재사용하지 않아 TList를 사용하지 않으려고 하는 데 그 이상의 숨겨진 기능 차이가 있나요?
:
:
: 이종빈 님이 쓰신 글 :
: : TStringList를 사용해보세요..
: : 사용법은 헬프 참조하시구여.. ^^
: :
: :
: : alberddo 님이 쓰신 글 :
: : : 제가 AnsiString에 매우 큰 Data를 저장하기 위해서
: : : AnsiString *strData[50]정도의 크기를 동적으로 생성해서 각각에 1000개의 문자열을 저장했는 데 에러가 발생하고 있습니다.
: : : 대체적으로 문제가 발생하는 시점이 *strData[50]를 1600개 정도 생성해서 Data를 넣기 시작하면서 부터 에러가 발생하는 데 이유를 알고 계신 분이 있으면 조언바랍니다.
: : : 에러내용이 다양하게 발생하고 있어서 에러내용은 기록하지 않았습니다.
|