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
[48380] BDS2006 TWideStringList 문제점 수정할 수 있는 방법이 있나요?
xiles [xiles] 1207 읽음    2007-03-14 09:19

BDS2006에 기본으로 들어 있는 TWideStrings 보면,
LoadFromFile이나 LoadFromStream 할 때 문제가 있어서, 원치 않는 정보가
마지막 라인에 딸려서 들어옵니다.

아래 부분이 잘못되어 있고 이 부분을 고치면 된다는 것은 알겠는데..
이걸 WideStrings.pas을 고치기만 한다고 적용되게 쓸 수 있는 것은 아닌 것 같은데
어떻게 해야 수정된걸 늘 적용되게 사용할 수 있는지 아시는분 계신가요?
소스는 BDS경로\source\win32\rtl\common 안에 있는겁니다..

procedure TWideStrings.LoadFromStream(Stream: TStream);
var
  Size: Integer;
  S: WideString;
begin
  BeginUpdate;
  try
    Size := Stream.Size - Stream.Position;
    SetString(S, nil, Size);
    Stream.Read(Pointer(S)^, Size);
    SetTextStr(S);
  finally
    EndUpdate;
  end;
end;

빨간 부분을 SetString(S, nil, Size div SizeOf(WideChar));로 고쳐야 합니다.


+ -

관련 글 리스트
48380 BDS2006 TWideStringList 문제점 수정할 수 있는 방법이 있나요? xiles 1207 2007/03/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.