내 게임의 SDL/입력 라이브러리를 Free Pascal에 쓰고 있는데 문제가 있습니다.다른 필드를 덮어 쓰는 레코드 필드
나는 요소에 액세스 할 때 다른 요소를 변경하는 변형 레코드가 있습니다.
레코드 종류 :
tInput = Record
case Device: TInputDevice of
ID_KeyOnce, ID_KeyCont: (Key: TSDLKey);
ID_MouseButton: (MouseButton: Byte);
ID_MouseAxis, ID_JoyAxis,
ID_JoyBall, ID_JoyHat: (Axis: Byte);
ID_JoyButton, ID_JoyButtonOnce, ID_JoyAxis,
ID_JoyHat, ID_JoyBall: (Which: Byte);
ID_JoyButton, ID_JoyButtonOnce: (Button: Byte);
단부; 그것이 충돌
코드 : 축이 하나로 설정하면
이with Input do begin
Device := ID_JoyAxis;
Which := 0;
Axis := 1;
end;
, 레코드의 다른 모든 변수가 하나 둘로 이동합니다!
알려진 버그입니까? 또는 내가 인식하지 못하는 기능이 있습니까? 아니면 내가 망쳐 놨던거야?
TSDLKey에 대한 자세한 정보가 있습니까? '열거 형입니까 아니면 클래스 인스턴스입니까? ... – 0xC0000022L
그냥 LongWord입니다. – lochok
좋아, 멋지다. 내 업데이트 된 답변은 노조가 있어야 할 정확한 상태를 반영합니다. – 0xC0000022L