我正在爲Free Pascal編寫我的遊戲的SDL /輸入庫,並且我正面臨一個問題。記錄字段覆蓋其他字段
我有一個變種記錄,當我訪問它的一個元素,改變其他元素。
記錄類型是:
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 2011-03-02 03:52:33
這只是一個LongWord – lochok 2011-03-02 04:02:07
好吧,很酷,那麼我更新的答案恰恰反映了你的工會應該在的狀態。 – 0xC0000022L 2011-03-02 04:12:55