: TResource = record
: dwName : DWORD;
: wID : WORD;
: dwOffset : DWORD;
: end;
이렇게 하지 마시고
TResource = packed record
dwName : DWORD;
wID : WORD;
dwOffset : DWORD;
end;
이렇게 packed 라는 것을 사용하면 정확하게 선언된 크기만큼씩
메모리로 접근이 가능하게 됩니다.
---------------------------------------------------------------------------
자손김 님이 쓰신 글 :
: 파일에서 레코드 단위로 읽을때 잘 안읽히네요
:
: 안녕하세요.
: 다음과 같은 레코드를 화일에서 읽으면..
: TResource = record
: dwName : DWORD;
: wID : WORD;
: dwOffset : DWORD;
: end;
:
: dwName 4byte, wId 4byte, dwOffset 4byte씩 읽어버리네요.
: 4byte 2byte 4byte씩 읽을수는 없나요? 도움바랍니다.
:
: 아래의 레코드는 4byte 2byte 정상적으로 읽힙니다.
: TResource = record
: dwName : DWORD;
: wID : WORD;
: end;
:
|