Q&A

  • 파일을 읽어 byte배열로 바꾸려는데..
제가 작성한 배열 담는 부분 코드입니다.
계속 access violation만 뿜어댑니다. 정확하겐
파일 ascii같은 16진수코드들이 나오는데..
아시는분 조언 좀 해주세요 ^^;;
그럼
var
  TempStream : TMemoryStream;
  buffer1 : TByteDynArray;  //동적배열임당. 이걸로만 받아요

begin

   appPath := 'C:Program FilesTimeSheet';

   TempStream := TMemoryStream.Create;
   TempStream.LoadFromFile(appPath + 'TimeSheetData.xml');
   TempStream.Read(buffer1, TempStream.Size);
   TempStream.Free;
2  COMMENTS
  • Profile
    최용일 2002.08.14 20:06
    안녕하세요. 최용일입니다.

    TByteDynArray가 어떻게 생겼는지는 모르겠지만 동적배열이라면 사용하시기 전에 메모리 할당을 해주셔야 합니다... 그리고 동적배열은 포인터니까 Buffer1이아니라 Buffer1[0]에다가 넣어 주셔야죠...

       appPath := 'C:Program FilesTimeSheet';

       TempStream := TMemoryStream.Create;
       TempStream.LoadFromFile(appPath + 'TimeSheetData.xml');
       SetLength(Buffer1, TempStream.Size); // <=
       TempStream.Read(buffer1[0], TempStream.Size); // <=
       TempStream.Free;

    ^^ 항상 즐코하세요...

  • Profile
    조준현 2002.08.15 00:24
    거의 2년만에 델파이해서..  
    헤매고 있었는데.. 넘 감사드립니다.
    덕분에 해결했습니다. 멋지게 변형해서 성공적으로
    c#웹서비스로 전송해서 저장해버렸습니다. ^^
    감사