빈 레코드 타입입니다.
그 부분만 떼어네서 생각한다면
var
r_data: record end;
==
var
r_data: record
end;
==
type
TEmpty = record
end;
var
r_data: TEmpty;
==
C언어로 표현한다면...
{
struct { } r_data;
}
다 같은 식으로 되겠네요.. 그런데 이렇게 잡아놓으면 sizeof(r_data) == 0 이 될텐데.. 이렇게 해서 어디다 쓸 수 있을런지 모르겠네요.. ^^;
변수는 있지만 메모리공간은 할당하지 않는다. record는 있지만 접근할 수 있는 멤버는 없다. 음.. 궁금하네요.. 어디다 쓰려고 만든건지..
레이 님이 쓰신 글 :
: 주로 빌더를 사용하고, 델파이는 잘 사용하지 못하는 유저입니다.
: 대충 코드 분석 정도..^^;
:
:
: 코드 분석 중,
: Packet = packed record
: case r_command: byte of
:
: 0: (
: crc16: word;
: seqNum: word;
: r_dataSize: word;
: r_data: record end;
: );
:
: 1: (
: r_subCmd: word;
: r_data_noCheck: record end;
: );
: end;
:
: 이런 부분이 있는데,
:
: r_data, r_data_noCheck가 타입이 무엇인지.
: 저 record를 빌더로 표현하자면 어떻게 표현되야 하는지 궁금합니다.
|