Q&A

  • VarArray가 StringStream에 왜 안 쓰여질까요?
아래와 같이 VarArray를 StringStream에 쓰려고 하는데 Size와 Pointer는 잘 나오는데
정작 Write가 안됩니다. 도움 좀 부탁드립니다.
실제 데이터는 저장되지 않고 #8#$D#$A라는 것만 나오네요.

참고로 for loop로 strlst_DCReg.add(arrCall[1,1])는 잘 읽힙니다만 수만개일 경우 시간이 너무 걸려서.

<!--CodeS-->
var
  arrCall : Variant;
  p : pointer;
  SS : TStringStream;
  strlst_DCReg : TStringList;


  SS := TStringStream.Create('');

  SS.Size := VarArrayHighBound (arrCall, 1) - VarArrayLowBound (arrCall, 1) + 1;
  SS.Position := 0;

  p := VarArrayLock(arrCall);
  SS.Write(p^, SS.Size); //? 안 읽힘
  VarArrayUnlock(arrCall);

  SS.Position := 0;
  strlst_DCReg.LoadFromStream(SS);
<!--CodeE-->
0  COMMENTS