: TResource = record
: dwName : DWORD;
: wID : WORD;
: dwOffset : DWORD;
: end;
///////////////////////////////////////////////////////
procedure TForm1.Button1Click(Sender: TObject);
var
varFile : file of TResource;
begin
AssignFile(varFile,'test.dat');
With varRes do
begin
dwName := $FFFFFFFF;
wID := $3F0F;
dwOffset := $10101010;
end;
Rewrite(varFile);
Write(varFile,varRes);
closeFile(varFile);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
varFile : file of TResource;
OutputBuff : String;
begin
AssignFile(varFile,'test.dat');
Reset(varFile);
Read(varFile,varRes);
With varRes do
OutPutBuff := format('%x %x %x',[dwName,wID,dwOffset]);
ShowMessage(OutputBuff);
closeFile(varFile);
end;
///////////////////////////////////////////////////////////
위에 소스를 참고하세요.
물론 문제는 보통요즘 컴파일러는 4바이트 단위로 정렬을 합니다.
그래서 그럴수 있습니다. 결국 똑 같은 옵션으로 했을 때는 문제 없이 잘 읽힙니다.
그럼 해보시고 문제가 있으면 질문해 주세여..
안녕히..
|